le problème avec une table avec 1 mill records ne sera pas le AND id > 34000 LIMIT 10
ou LIMIT 34000, 10
cela dépendra de la structure et du reste de la requête. C'est-à-dire que vous avez besoin d'index, PK, FK pour accélérer la requête, à côté de cela, un Order by la ralentira probablement, faites une recherche like '%text%'
cela rendra votre requête LENTE. Cela dépend également du moteur de la table
Ne vous attendez donc pas à ce que la modification de la limite 10 fasse une énorme différence. Il existe quelques outils qui vous aideront à déterminer une "meilleure" requête, mais toutes les requêtes ne fonctionnent pas de la même manière, alors ne vous attendez pas à la "meilleure solution" car elle n'existe pas.
Vous pouvez utiliser Afficher create table
ou Describe select ......
ou explain
pour voir ce qui se passe, ou utilisez la commande benchmark
pour voir le temps approximatif d'une fonction que vous appliquez pour l'améliorer
MODIFIER :
Quelques outils pour MySQLJe vous recommande de jeter un œil à ce programme qui vous aidera dans cette partie des performances.
- Mysqlslap (c'est comme un benchmark mais vous pouvez personnaliser davantage le résultat).
- SysBench (test des performances du processeur, des performances d'E/S, des conflits de mutex, de la vitesse de la mémoire, des performances de la base de données).
- Mysqltuner (avec cela, vous pouvez analyser les statistiques générales, les statistiques du moteur de stockage, les mesures de performance).
- mk-query-profiler (effectuer une analyse d'une instruction SQL).
- mysqldumpslow (il est bon de savoir que les requêtes de sorcière causent des problèmes).