:: DEVELOPER ZONE
EXPLAIN (Obtenir des informations sur les SELECT)SELECTWHEREIS NULLDISTINCTLEFT JOIN et RIGHT JOINORDER BYGROUP BYLIMITINSERTUPDATEDELETEPremièrement, ce qui affecte toutes les requêtes : plus votre système de droits est compliqué, plus vous aurez des baisses de performances.
Si vous n'avez aucun GRANT effectué, MySQL optimisera les vérifications de droits.
Donc, si vous avez un système volumineux, il serait bénéfique d'éviter les grants. Sinon
les performances seront réduites. Par exemple, si vous
n'avez pas de droits de niveau table ou colonne, le serveur n'a pas
à vérifier le contenu des tables tables_priv et columns_priv.
Similairement, si vous n'avez pas de limites de ressources, le serveur
n'a pas de comptes de ressources à faire. Si vous avez un très haut niveau
de requêtes, il peut se révéler bénéfique d'utiliser une structure de droits
simplifiée, pour réduire le temps de vérification.
Si votre problème est spécifique à une expression MySQL ou une fonction,
vous pouvez utiliser la fonction BENCHMARK() du client mysql pour
effectuer un test de performances. La syntaxe est
BENCHMARK(loop_count,expression). Par exemple :
mysql> SELECT BENCHMARK(1000000,1+1); +------------------------+ | BENCHMARK(1000000,1+1) | +------------------------+ | 0 | +------------------------+ 1 row in set (0.32 sec)
Ce qui précède montre que MySQL peut exécuter 1 000 000 d'additions en 0.32
secondes sur un PentiumII 400MHz.
Toutes les fonctions MySQL sont sensé être optimisées, mais il peut y avoir quelques exceptions
et la fonction BENCHMARK(nombre_de_fois,expression) est un très bon moyen de trouver ce
qui cloche dans vos requêtes.
© 1995-2005 MySQL AB. All rights reserved.
