Oracle Database 10g Enterprise Edition Release 10.2.0.2.0
Bonjour,
J'ai une table d'affectation possédant une date de début.
j'ai creé un index 'TEST' sur cette date.(Un index avec la fonction TRUNC(start_date))
Lorsque j'effectue la requète suivante, voici le résultat de l'explain plan:
On utilise bien l'index.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 select a.* from P_ASSIGNMENTS a where TRUNC(start_date) = TRUNC(TO_DATE('18/09/1997','DD/MM/YYYY')) Operation Object Name Rows Bytes Cost SELECT STATEMENT Optimizer Mode=ALL_ROWS 127 38 TABLE ACCESS BY INDEX ROWID P_ASSIGNMENTS 127 10 K 38 INDEX RANGE SCAN TEST 51
J'aurais bien aimé savoir si avec la requète suivante, il est possible de faire référence à cet index.
Car pour le moment, il construit la "vue temporaire" et fait un table acces full sur P_ASSIGNMENT a.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 select a.* from P_ASSIGNMENTS a where TRUNC(start_date) = (select max(a1.start_date) from p_assignments a1 where a1.person_id = a.person_id and a1.sequence = a.sequence and a1.end_date is null)
Merci d'avance.
Partager