Forcer l'ordre de la clause where SQL

Fermé
decisio59 Messages postés 7 Date d'inscription mercredi 4 mars 2009 Statut Membre Dernière intervention 31 mars 2009 - 16 mars 2009 à 10:10
blux Messages postés 26008 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 - 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
A voir également:

6 réponses

Frappe Misere Messages postés 2677 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 10 août 2011 568
16 mars 2009 à 10:13
excuse moi mais de toute façon SQL va executer les 3 clauses alors je comprends pas bien ce que tu cherches à faire...
1
blux Messages postés 26008 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 3 289
16 mars 2009 à 10:45
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é ?
0
decisio59 Messages postés 7 Date d'inscription mercredi 4 mars 2009 Statut Membre Dernière intervention 31 mars 2009
16 mars 2009 à 10:50
EXPLAIN PLAN commence par la jointure
même en mettant la date en premier critère dae la clause
0
blux Messages postés 26008 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 3 289
16 mars 2009 à 12:26
Et une sous-requête qui ferait déjà la restriction sur la date en source de tes tables ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
decisio59 Messages postés 7 Date d'inscription mercredi 4 mars 2009 Statut Membre Dernière intervention 31 mars 2009
16 mars 2009 à 14:17
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
0
blux Messages postés 26008 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 3 289
16 mars 2009 à 14:25
Je serais curieux de savoir d'où tu sors cette info, et si c'est vrai, sur quel SQL cela s'applique...
0
decisio59 Messages postés 7 Date d'inscription mercredi 4 mars 2009 Statut Membre Dernière intervention 31 mars 2009
16 mars 2009 à 10:18
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
-1