|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Invité de passage
![]() Inscription : avril 2005 Messages : 3 ![]() |
Bonjour
Je vous explique mon probleme. J'ai 2 tables ou l'on stocke des donnees relatives à des comptes d'entreprises et qui schématiquement se présentent comme ceci (je ne donne que 3 champs par table sachant qu'elles en comportent une 40aine) : Code: Code :
Code :
Je souhaite faire une recherche dans les tables sur plusieures années. La requête qui m'est venue à l'esprit est la suivante : Code: Code :
Cette requête a pour but d'afficher les comptes de 2003 pour les entreprises qui ont eu un chiffre d'affaire < à 9 000 000 en 2001, > à 9 000 000 en 2002 et dont le coef de performances (contenu ds la Table2) est supérieur à 6 en 2002. Cette requête fourni un résultat correct mais ma base étant immense (5 Go) elle est TRES lente. Avez vous une requête plus rapide à me proposer ? Au Secours |
||||||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : avril 2005 Messages : 1 672 ![]() |
tu as essayé avec une clause EXISTS qui est, en particulier, plus performant que la clause IN ?
|
|
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Inscription : avril 2005 Messages : 3 ![]() |
Merci pour ta réponse.
Le Exists est en effet plus rapide que le IN mais dans ce cas particulier je vois très mal comment construire une requête avec EXISTS qui fournisse un résultat correct sachant que : Code :
NE DONNE PAS UN RESULTAT CORRECT HELP ?!?! |
||
|
|
00
|
|
|
#4 | ||||||
|
Membre Expert
![]() Inscription : avril 2005 Messages : 1 672 ![]() |
Pourquoi tu utilises autant de parenthèses dans tes clauses :
Code :
Code :
Bref, avec la clause EXISTS je ferais quelque chose comme ça : Code :
|
||||||
|
|
00
|
|
|
#5 | ||
|
Membre Expert
![]() Inscription : avril 2005 Messages : 1 672 ![]() |
Je ne sais pas l'impact au niveau des performances mais tu dois pouvoir regrouper tes 2 premières sous-requêtes en faisant (sous réserve que le mot clé INTERSECT fonctionne) :
Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com