Bonjour,
ma question est la suivante: lorsque sql execute une requete composé d'une sous-requête qui renvoie toujours le meme résultat, est ce que qu'il execute la sous-requête à chaque fois, ou stocke t'il le résulat de la sous-requête???
Je pause cette question parce que dans le cadre d'un stage je suis amené à travailler sous access et je dois travailler qu'à l'aide de requêtes.
Je me retrouve avec une requête extrèmement lente (pas la patience d'attendre la fin de son execution mais plusieurs dixaines de minutes).
Mais lorsque je remplace dans la sous-requete un valeur contenu dans la table de la requete principale par une constante la tout s'execute en quelques secondes.
Je ne pense pas être très clairalors je vais vous donner un petit exemple:
==> très lent
Code : Sélectionner tout - Visualiser dans une fenêtre à part select x.a from x where x.b = (select Max(y.b) from y where y.c < x.c)
==> très rapide
Code : Sélectionner tout - Visualiser dans une fenêtre à part select x.a from x where x.b = (select Max(y.b) from y where y.c < CONSTANTE)
Merci de vos réponses!




alors je vais vous donner un petit exemple:
Répondre avec citation


N'oubliez pas le bouton
et pensez aux balises [code]




Partager