|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Nouveau Membre du Club
![]() Inscription : janvier 2006 Messages : 110 ![]() |
Bonjour.
J'ai un problème avec solution corrigée que je n'arrive pas comprendre. Soit la requête suivante avec oracle : Code :
Code :
Code :
Pouvez vous me confirmer que l'ordre a une importance, et , si possible, pourquoi , merci de votre patience et bonnes fêtes de fin d'année. |
||||||
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
Dans un plan d'exécution affiché par EXPLAIN PLAN c'est d'abord les étapes de plus grande profondeur qui sont exécutées puis on remonte en prenant les étapes qui ont une profondeur moindre. Ce n'est donc pas le numéro d'ordre de l'étape qui donne l'ordre d'exécution.
|
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() Inscription : avril 2006 Messages : 1 024 ![]() |
Et de toute façons comme c'est un merge-join, le sens n'a aucune importance, car il y a un tri des 2 ensembles dans un premier temps (les 2 sort full) puis une imbrications de ces 2 listes triées (le merge).
Si la clause GareTerm = 'Aix' est tres discriminante (je suppose que la colonne fait partie de la table "Arret" ?) , alors il faut: - mettre un index sur la colonne GareTerm - mettre un index sur la colonne TGV.NumTGV à ce moment là le plan devrait etre une boucle imbriquée (NESTED LOOP). |
|
|
00
|
|
|
#4 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2006 Messages : 110 ![]() |
Ah super, merci messieurs pour ces précisions
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com