Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Optymalizacja wywołania funkcji przechowywanej w klauzulach SELECT i WHERE

Przepisz i przetestuj, który z nich działa szybciej:

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 ;

W MySQL możesz nawet pisać w ten sposób (ostrzeżenie:nie standardowy SQL składnia):

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wypełnianie listy rozwijanej na podstawie poprzedniego wyboru

  2. Jaki jest najlepszy sposób przechowywania obrazów użytkowników przy użyciu PHP i MySQL?

  3. SQL UPDATE z podzapytaniem, które odwołuje się do tej samej tabeli w MySQL

  4. Różnica czasu SQL w ramach jednej tabeli

  5. Jak naprawić typowe problemy z bazą danych MySQL?