
J'essaie désespérément d'exécuter une requête - plutôt basique - en espérant la voir passer par un index, et, quelque soit le sens je n'y parviens pas.
J'utilise une base Oracle 8i sur Unix 5.2
voici le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
sur Toad, j'obtiens l'Explain Plan suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
la table tb_o_ent_tkv possède 16 M lignes et les indexes sont les suivants :
IX_ENT_TKV_ID_COL (CD_ENT_TKV_ID_COL)
IX_FK_ENT_TKV_EMP (ID_EMP)
IX_FK_ENT_TKV_TPS_JOU (ID_TPS_JOU)
PK_ENT_TKV (ID_ENT_TKV)
la table tb_o_lig_tkv, quant à elle, dispose de 19,6 M lignes et les indexes sont les suivants :
IX_FK_LIG_TKV_UVC (ID_UVC)
IX_LIG_TKV_ID_ENT (ID_ENT_TKV)
IX_LIG_TKV_TYP_ENT (CD_LIG_TKV_TYP, ID_ENT_TKV)
PK_LIG_TKV (ID_LIG_TKV)

j'ai tenté d'ajouter des commandes du type /*+ leading (ODS.TB_O_LIG_TKV IX_LIG_TKV_ID_ENT) */ afin de forcer l'utilisation de l'index...
...mais rien n'y fait.

 

 
		
		 
        

 
			
			


 
   


 index sur requête
 index sur requête
				 Répondre avec citation
  Répondre avec citation
Partager