[+/-]
EXPLAIN
(Obtenir des informations sur les
SELECT
)SELECT
WHERE
IS NULL
DISTINCT
LEFT JOIN
et
RIGHT JOIN
ORDER BY
GROUP BY
LIMIT
INSERT
UPDATE
DELETE
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.
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.