MySQL: Limit VS Between

Fermé
Pascal_22 Messages postés 534 Date d'inscription lundi 20 mars 2006 Statut Membre Dernière intervention 29 août 2014 - 27 nov. 2009 à 18:53
irem Messages postés 164 Date d'inscription mardi 22 mai 2007 Statut Membre Dernière intervention 9 octobre 2012 - 28 nov. 2009 à 06:48
Bonjour à tous,

J'ai actuellement un site web de rencontre, pour tous mes page ou j'utilise la "pagination" j'utilise le Limit.

J'essaie actuellement d'optimaliser mes requête SQL avec les index. Je suis tombé sur un article : https://www.vulgarisation-informatique.com/optimiser-mysql.php qui dit d'utiliser le Between plutot que
le Limit.

Mon soucis est que, sur mon site, on peut rechercher soit par different critères, sexe, age, ville, pays .....

Alors je ne vois pas comment utiliser le Between dans ce cas??

Pouvez vous m'éclairer sur quand utiliser le limit et quand utiliser le between??

Merci milles fois!

Pascal

1 réponse

irem Messages postés 164 Date d'inscription mardi 22 mai 2007 Statut Membre Dernière intervention 9 octobre 2012 99
28 nov. 2009 à 06:48
Bonjour

Le BETWEEN comme le WHERE sont beaucoup plus rapide dans une requete par rapport au LIMIT car MySQL ne chargera pas l'entierete des données pour les premieres entrées (dans un limit, il les compte), cependant même si cela marche très bien sur une base propre, la plupart du temps, des champs apparaissent et disparaissent au cours du temps.

Ainsi l'element d'ID 1 dans une table aura pu se désinscrire, dans ce cas LIMIT 20,5 donnera bien les 20 à 24ème élément alors que BETWEEN donnera les 19 à 23ème.

En d'autres termes, et si la table a un bon index, il n'y a aucun soucis pour faire des LIMIT et le between pour la pagination est juste de la theorie

J'utilise actuellement des limit sur un script appelant une table avec plusieurs millions d'entree, cela n'a jamais ete un probleme.

Donc continuez avec les limit et cela ne posera pas de probleme (sauf en cas de tres tres tres forte audience)
0