|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() Inscription : octobre 2002 Messages : 43 ![]() |
vaut mieux faire une requête comme ceci :
select * from aaaa where identifiant in (1, 2, 3, 4, 5, ... 995, 996, 997, 998, 999, 1000) ou 10 requête comme ceci : (select * from aaaa where identifiant in (1, 2, ..., 9, 10)) X 10 Qu'elle est la meilleure méthode ? Est-ce vrai que le left join fait ramer le seveur mysql ? |
|
|
00
|
|
|
#2 |
|
Nouveau Membre du Club
![]() Inscription : juin 2003 Messages : 38 ![]() |
Salut,
Si tes identifiants se suivent (1,2,3,4,5,6,7,...900,901,902,903) comme a l'air de montrer ton exemple, il vaut mieux faire ca: select * from aaaa where identifiant between valeur_min and valeur_max... A+ |
|
|
00
|
|
|
#3 |
|
Futur Membre du Club
![]() Inscription : octobre 2002 Messages : 43 ![]() |
oui, mais j'ai mis ces chiffres comme exemple, en réalité il n'y a aucune relation entre chaque chiffre.
l'exemple de requête est : select * from aaaa where identifiant in (5545645, 564464, 415245, 251876123, 42561325, ... 95645646, 89723134, 6467898, 54615697, 54615611, 782319) c'est dire avoir 1 seule requête avec 1000 identifiant dans le in ou vaut mieux faire 10 requête avec 100 identifiants différents dans le in ? |
|
|
00
|
|
|
#4 | |
|
Futur Membre du Club
![]() Inscription : octobre 2002 Messages : 43 ![]() |
Citation:
Je pose cette question car dans mon bureau, je suis le seule à soutenir qu'il vaut mieux faire une requête avec un in de 1000 identifiant que 10 requête avec un in de 100 identifiant. |
|
|
|
00
|
|
|
#5 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
Effectivement, le IN est meilleur, mais je crains que tu rencontres un autre problème : la limite dans le nombre de valeur accepté par IN
L'idéal serait de créer une table avec la liste des valeurs et faire une bonne vieille jointure |
|
|
00
|
|
|
#6 |
|
Futur Membre du Club
![]() Inscription : octobre 2002 Messages : 43 ![]() |
Merci
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com