sql >> Database >  >> RDS >> Mysql

Een opgeslagen functieaanroep optimaliseren in SELECT- en WHERE-clausules

Herschrijf en test welke sneller presteert:

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 ;

In MySQL kun je zelfs zo schrijven (waarschuwing:geen standaard SQL syntaxis):

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



  1. Hoe triggers te maken om de wijzigingsgebeurtenissen toe te voegen aan auditlogboektabellen

  2. Gerangschikte invoerwaarde voegt lege record in mysql in

  3. Wanneer afbeeldingen opslaan in een database (mySQL) en wanneer niet? (Afbeelding koppelen aan item in database)

  4. Variabelen declareren en instellen in een Select-statement