Avec la version 11g, il est possible de définir la caractéristique INVISIBLE pour un index. Cela signifie que l'index est physiquement présent, qu'il est tenu à jour si des opérations DML ont lieu sur la table mais que l'optimiseur ne prend pas en compte cet index du moment ou le paramètre OPTIMIZER_USE_INVISIBLE_INDEXES=FALSE (valeur par defaut).
Il est possible de créer un index invisible :
CREATE INDEX IX1 ON TABLE T1(cola,colb) INVISIBLE;
Il est également possible de rendre un index invisible par alter:
ALTER INDEX IX1 VISIBLE; ALTER INDEX IX1 INVISIBLE;
Afin de tester la pertinance d'un index, il suffit pour le DBA de modifier le paramètre de session OPTIMIZER_USE_INVISIBLE_INDEXES à TRUE et de vérifier si le plan d'éxécution utilise bien l'index invisible. Si le plan est satisfaisant et que l'index est bien utilisé, le DBA peut alors rendre l'index VISIBLE.
ALTER SESSION SET OPTIMIZER_USE_INVISIBLE_INDEXES=TRUE;
Les tables IOT pour Index Organized Table sont des tables dont les données sont triées suivant l'index de clef primaire (B*Tree Index).
En fait toutes les colonnes d'une ligne de la table sont stockées dans la feuille de l'index de clef primaire. On peut dire que l'index de clef primaire et la table ne font qu'un.
Lire la suite : Oracle : Table IOT (Index Organized Table) ou les Tables Triees suivant la PK
Le clustering factor d'un index est un indicateur qui permet à l'optimiseur Oracle de savoir si l'ordre des rowid dans les feuilles de l'index est plus ou moins similaire à l'ordre des rowid de sa table. Plus l'ordre des rowid dans les feuilles de l'index est proche de ceux de la table et plus le clustering factor est petit. Donc plus il est petit et mieux c'est.
Il varie entre le nombre de block de la table et le nombre de lignes de la table.
Lire la suite : Oracle : clustering factor ou le facteur d'ordonnancement des index
Articles traitant de l'intégration de données
Des tutoriaux et cours gratuits sur Oracle
Tutoriaux sur Unix et les shells scripts