sql >> Database teknologi >  >> RDS >> Mysql

Optimering af et lagret funktionskald i SELECT- og WHERE-sætninger

Omskriv og test, hvilken der klarer sig hurtigere:

SELECT *, storedfunc(param, table.column) AS f FROM table WHERE storedfunc(param, table.column) < value ORDER BY f ; SELECT * FROM ( SELECT *, storedfunc(param, table.column) AS f FROM table ) AS tmp WHERE f < value ORDER BY f ;

I MySQL kan du endda skrive sådan her (advarsel:ikke standard SQL syntaks):

SELECT *, storedfunc(param, table.column) AS f 
FROM table 
HAVING f < value 
ORDER BY f ;
 



  1. Postgres tabel kolonne navn begrænsninger?

  2. Hvad er MySQL JDBC-driverforbindelsesstrengen?

  3. Laravel Eloquent får resultater grupperet efter dage

  4. Vælg fra tabel, hvis posten findes i en anden tabel