Bonjour à tous,
Je suis sur Oracle 10g.
J'étudie l'optimiseur sur une simple requête :
J'obtiens le plan suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 select * from client,contrat where nom='X' and client.numclient=contrat.refclient ;
Mes tables ne contiennent pas beaucoup de données (au max 5 tuples par table).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Nesteed loops Table access contrat Full Table access client by index rowid Nom='X' Index Pk_client unique scan client.numclient=contrat.refclient
Mon client 'X' apparaît 3 fois dans ma table client.
Mes stats sont à jour et le paramètre optimizer_mode est à choose.
Pourquoi l'optimiseur me fait passer par l'index alors qu'il me semblait un full table scan sur de petite table est préférable ?
Je vous remercie par avance pour votre aide.
cordialement
Startout
Partager