Forcer l'ordre de la clause where SQL
decisio59
Messages postés
8
Statut
Membre
-
blux Messages postés 2045 Date d'inscription Statut Modérateur Dernière intervention -
blux Messages postés 2045 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je souhaite forcer l'ordre de mes critères (clause where) de restriction de ma requete sql car la plan d'éxecution n'est pas celui souhaité :
Exemple
SELECT distinct
E.EI_ID
T.RI_ID
...
...
...
...
FROM
EDE E, TITRE T
WHERE E.EI_ID=L.MI_ID
AND E.EI_ID=T.RI_ID
AND E.CI_ID='P'
AND (E.DATE_ID> to_date(01/01/1900' , 'DD/MM/YYYY'))
Je souhaite que sql commence par la troisième clause et ensuite la 2 eme et enfin la première
existe t-il des options à ajouter à ma requête pour qu'elle s'éxecute dans le le sens souhaité
Merci bcp
Je souhaite forcer l'ordre de mes critères (clause where) de restriction de ma requete sql car la plan d'éxecution n'est pas celui souhaité :
Exemple
SELECT distinct
E.EI_ID
T.RI_ID
...
...
...
...
FROM
EDE E, TITRE T
WHERE E.EI_ID=L.MI_ID
AND E.EI_ID=T.RI_ID
AND E.CI_ID='P'
AND (E.DATE_ID> to_date(01/01/1900' , 'DD/MM/YYYY'))
Je souhaite que sql commence par la troisième clause et ensuite la 2 eme et enfin la première
existe t-il des options à ajouter à ma requête pour qu'elle s'éxecute dans le le sens souhaité
Merci bcp
Configuration: Windows XP Internet Explorer 6.0
6 réponses
-
excuse moi mais de toute façon SQL va executer les 3 clauses alors je comprends pas bien ce que tu cherches à faire...
-
Salut,
as-tu essayé de mettre ta date avant la jointure ?
Es-tu sur un SQL qui te permet l'explain, parce que si ça se trouve, c'est déjà optimisé ?
-
EXPLAIN PLAN commence par la jointure
même en mettant la date en premier critère dae la clause -
Et une sous-requête qui ferait déjà la restriction sur la date en source de tes tables ?
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Oui pourquoi pas
mais il parait qu'il existe un moyen pour forcer les clauses de restriction dans le where
merci bcp pour tes idées -
oui mais je souhaite forcer l'ordre pour que le traitement se deroule plus vite
si on commence par le 3eme critere (la date supérieur à une date) on a deja bien balayée la table
ensuite ce qui reste à faire se deroulera plus vite
Au contraire, si on commence par la jointure : ya bcp de données à analyser