Forcer l'ordre de la clause where SQL [Fermé]

Messages postés
7
Date d'inscription
mercredi 4 mars 2009
Statut
Membre
Dernière intervention
31 mars 2009
- - Dernière réponse : blux
Messages postés
23911
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
18 mars 2019
- 16 mars 2009 à 14:25
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
Afficher la suite 

6 réponses

Meilleure réponse
Messages postés
2684
Date d'inscription
vendredi 22 février 2008
Statut
Membre
Dernière intervention
10 août 2011
524
1
Merci
excuse moi mais de toute façon SQL va executer les 3 clauses alors je comprends pas bien ce que tu cherches à faire...

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 6032 internautes nous ont dit merci ce mois-ci

Messages postés
23911
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
18 mars 2019
2683
0
Merci
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é ?
Messages postés
7
Date d'inscription
mercredi 4 mars 2009
Statut
Membre
Dernière intervention
31 mars 2009
0
Merci
EXPLAIN PLAN commence par la jointure
même en mettant la date en premier critère dae la clause
Messages postés
23911
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
18 mars 2019
2683
0
Merci
Et une sous-requête qui ferait déjà la restriction sur la date en source de tes tables ?
Messages postés
7
Date d'inscription
mercredi 4 mars 2009
Statut
Membre
Dernière intervention
31 mars 2009
0
Merci
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
blux
Messages postés
23911
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
18 mars 2019
2683 -
Je serais curieux de savoir d'où tu sors cette info, et si c'est vrai, sur quel SQL cela s'applique...
Messages postés
7
Date d'inscription
mercredi 4 mars 2009
Statut
Membre
Dernière intervention
31 mars 2009
-1
Merci
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