sql >> Databasteknik >  >> RDS >> Mysql

Optimera ett lagrat funktionsanrop i SELECT- och WHERE-satser

Skriv om och testa vilken som presterar snabbare:

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 till och med skriva så här (varning:inte standard SQL syntax):

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



  1. Hur Sind() fungerar i PostgreSQL

  2. Få resultat mellan två datum i PostgreSQL

  3. Hur exporterar man data som CSV-format från SQL Server med sqlcmd?

  4. Välj Oracle för uppdateringsbeteende