10.16 Comment faire tourner MySQL à pleine vitesse?

Commencez par tester votre installation ! Vous pouvez prendre n'importe quel programme de la suite de test MySQL (normalement fournie dans le dossier ``sql-bench'') et la modifier selon vos besoin. Vous pourrez ainsi essayer différentes solutions, et trouver celle qui est le plus rapide :@:

L'option --skip-locking est mise par défaut lors de la compilation avec MIT-pthreads, car flock()n'est pas supporté par MIT-pthreads sur toutes les plate-formes. Le seul ca où il est impossible d'utiliser --skip-locking est lorsque vous avez plusieurs SERVEUR MySQL (pas les clients) avec les mêmes données (ou bien exécutez isamchk sur une table sans avoir vidé les tables de la mémoire). Vous pouvez toujours utiliser use LOCK TABLES / UNLOCK TABLES même si vous avec mis l'option --skip-locking

Si votre problème porte sur une fonction particulière de MySQL, vous pouvez toujours la chronométrer avec le client MySQL:@:

mysql> select benchmark(1000000,1+1);
+------------------------+
| benchmark(1000000,1+1) |
+------------------------+
| 0 |
+------------------------+
1 row in set (0.32 sec)

L'exemple ci dessus montre que MySQL peut exécuter plus de 1,000,000 de fois l'expressions en 0.32 seconde sur un simple PentiumII 400MHz.

Toutes les fonctions MySQL sont très optimisées ; mais il peut y avoir des exceptions, et l'utilitaire benchmark(loop_count,expression) est un bon outil pour étudier votre problème.