EXPLAIN (получение информации о SELECT)SELECTWHEREDISTINCTLEFT JOIN и RIGHT JOINORDER BYLIMITINSERTUPDATEDELETEСначала приведем одно правило, касающееся всех запросов: Чем сложнее ваша система привилений, тем больше издержек.
Если не было выполнено никаких
операторов GRANT, MySQL
каким-то образом будет
оптимизировать проверку
полномочий. Таким образом при
наличии очень большого объема
данных лучше, наверное, будет
работать без привилегий. В
противном случае при большом
количестве полномочий проверка
результатов будет происходить с
увеличенными издержками.
Если проблема состоит в некоторой явной функции MySQL, всегда можно протестировать ее в клиенте:
mysql> SELECT BENCHMARK(1000000,1+1);
+------------------------+
| BENCHMARK(1000000,1+1) |
+------------------------+
| 0 |
+------------------------+
1 row in set (0.32 sec)
Из приведенного выше примера видно, что MySQL может выполнять более 1000000 операций сложения за 0,32 секунды на PentiumII 400MHz.
Все функции MySQL достаточно хорошо
оптимизированы, но могут попадаться
некоторые исключения, и функция
BENCHMARK(число_циклов,выражение)
- хороший инструмент для выяснения,
присутствует ли проблема в запросе.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.
© 1995-2005 MySQL AB. All rights reserved.
