Bonjour à tous,

J'ai découvert une bizarrerie sur une base de données Oracle 9iR2 (9.2.0.7.0). J'espère trouver quelqu'un qui pourrait m'expliquer... Moi je ne vois vraiment pas :

Voici mon problème : Imaginons une table A avec différents champs dont une clé primaire. Dans cette table, j'ai une colonne nommé "type" (c'est peut-être de ce nom que vient le pb : mot clé oracle ?). Il existe un index sur cette colonne, index simple et non unique. Cette colonne peut prendre 6 valeurs différentes. Voici les valeurs possibles et le nombre d'instance dans la table A :
'Client' 1
'Résidentiel' 3
'Société' 1
'entité' 5790
'interne' 1
'societe' 481425

Si je regarde le plan d'exécution de la requête select * from A where type = 'entité', le nombre de ligne en retour estimé est de 81K ! On a pourtant que 5790 ligne retournée. Ce nombre de ligne retournée est toujours de 81k quelque soit la valeur recherchée dans la colonne type. J'ai testé sur une base différente, on a pas le problème, le nombre de ligne estimé est correcte. Notre client a par contre ce problème sur sa base de recette, mais pas en production...

Je précise que les stats ont été passées en mode full sur les index et tables.

J'ai tenté de recréer une colonne "x_type" reprenant la même valeur que la colonne "type" avec le même index : le problème ne se pose plus.

Merci d'avance pour vos éventuels éclaircissements.

Aurélien