Bonjour,
Je suis en Oracle 10GR2 et j'ai un souci que je vous expose ci-dessous :
La réponse en quasi-instannée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 prod)>select * from CONTRAT partition (m200901) where NU_CONTRAT = '102795462'; Execution Plan ---------------------------------------------------------- 0 SELECT STATEMENT Optimizer=CHOOSE (Cost=11 Card=1 Bytes=308) 1 0 PARTITION RANGE (SINGLE) (Cost=11 Card=1 Bytes=308) 2 1 TABLE ACCESS (BY LOCAL INDEX ROWID) OF 'CONTRAT' (TABLE) (Cost=11 Card=1 Bytes=308) 3 2 INDEX (SKIP SCAN) OF 'PK_CONTRAT' (INDEX (UNIQUE)) (Cost=10 Card=1)
Ma table CONTRAT est partitionnée, les stats sur la partition sont bonnes.prod)>select * from CONTRAT partition (m200901) where nu_affa in ('112946548','102795462');
Execution Plan
----------------------------------------------------------
0
SELECT STATEMENT Optimizer=CHOOSE (Cost=44037 Card=2 Bytes=616)
1 0
PARTITION RANGE (SINGLE) (Cost=44037 Card=2 Bytes=616)
2 1
TABLE ACCESS (FULL) OF 'CONTRAT' (TABLE) (Cost=44037 Card=2 Bytes=616)
Pourquoi dans un cas, l'optimiseur Oracle utilise l'index et pas dans l'autre.
Merci de vos réponses.
LBO72.
Partager