Bonjour
J'ai un problème avec la requête suivante
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 SELECT * FROM DWH_SIS_APPLICATION.DWH_MOIS DWH_MOIS ,SIS_APPLICATION.I_INVESTIGATIONS I_INVESTIGATIONS ,SIS_APPLICATION.L_LOCALISATIONS L_LOCALISATIONS ,DWH_SIS_APPLICATION.DWH_RR_DM_MOIS DRDM WHERE I_INVESTIGATIONS.ID_INVESTIGATION = L_LOCALISATIONS.ID_INVESTIGATION AND DRDM.DM_MOIS=DWH_MOIS.DM_MOIS AND DRDM.D_FIRST_MONTH < I_INVESTIGATIONS.D_END
J'ai un index sur tous les champs utilisés dans la where clause.
DWH_MOIS contient les mois à calculer
DWH_RR_DM_MOIS contient tous les RRRRMM jusque 2023 (indexs sur tous les champs de cette table
Il y a des L_LOCALISATIONS dans I_INVESTIGATIONS
Dans AND DRDM.D_FIRST_MONTH < I_INVESTIGATIONS.D_END, si je me mets un = à la place de <, il utilise tous les indexs parfaitement. Par contre si je mets un <, il utilise pas les index.
Je ne comprend pas pourquoi ! Une idée ?
Merci,
EDIT
AVEC =
AVEC <
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Operation Object Name Rows Bytes Cost Object Node In/Out PStart PStop SELECT STATEMENT Optimizer Mode=FIRST_ROWS 11 27 TABLE ACCESS BY INDEX ROWID SIS_APPLICATION.L_LOCALISATIONS 1 39 2 NESTED LOOPS 11 869 27 NESTED LOOPS 8 320 11 NESTED LOOPS 1 27 2 INDEX FULL SCAN DWH_SIS_APPLICATION.DWH_MOIS_PK 24 120 1 TABLE ACCESS BY INDEX ROWID DWH_SIS_APPLICATION.DWH_RR_DM_MOIS 1 22 1 INDEX UNIQUE SCAN DWH_SIS_APPLICATION.DWH_RR_MOI_PK 1 0 TABLE ACCESS BY INDEX ROWID SIS_APPLICATION.I_INVESTIGATIONS 8 104 9 INDEX RANGE SCAN SIS_APPLICATION.I_I_INV_D_END 9 1 INDEX RANGE SCAN SIS_APPLICATION.LLOC_UK 1 1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Operation Object Name Rows Bytes Cost Object Node In/Out PStart PStop SELECT STATEMENT Optimizer Mode=FIRST_ROWS 236 K 19 HASH JOIN 236 K 30 M 19 TABLE ACCESS FULL DWH_SIS_APPLICATION.DWH_RR_DM_MOIS 263 5 K 3 NESTED LOOPS 209 11 K 15 NESTED LOOPS 9 468 11 TABLE ACCESS FULL SIS_APPLICATION.L_LOCALISATIONS 9 351 2 TABLE ACCESS BY INDEX ROWID SIS_APPLICATION.I_INVESTIGATIONS 1 13 1 INDEX UNIQUE SCAN SIS_APPLICATION.IOND_PK 1 0 INDEX FAST FULL SCAN DWH_SIS_APPLICATION.DWH_MOIS_PK 23 115 0
Partager