Présentation de l'optimisation
<<<
Optimisation des commandes SELECT et autres requêtes Verrouillage de tables
>>>

7 Optimisation de MySQL
 Manuel de Référence MySQL 4.1 : Version Française

Présentation de l'optimisation
->Optimisation des commandes SELECT et autres requêtes
Verrouillage de tables
Optimiser la structure de la base de données
Optimiser le serveur MySQL
Problèmes avec les disques

7.2 Optimisation des commandes SELECT et autres requêtes

Premiè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.

Sommaire :

<< Optimisation des commandes SELECT et autres requêtes >>
Présentation de l'optimisation Optimisation de MySQL Verrouillage de tables