Index

Les index n'interviennent qu'au niveau de l'implémentation physique d'une base de données ; en effet, les formes normales interdisent toutes duplications de l'information, les index permettent une duplication physique des données sans pour autant remettre en cause le schéma conceptuel.

De manière générale, un index est créé automatiquement lors de la création de la clé primaire d'une table ; de la même manière, il est d'usage d'un créer un pour chaque clé étrangère afin d'améliorer la vitesse lors des jointures.

Un index peut être :
- simplement le stockage des données d'une colonne de table qui sera souvent sollicitée (surtout au niveau des recherches)
- l'ensemble de plusieurs colonnes qui, de la même manière feront l'objet de requête pour les recherches.
- le résultat d'une fonction simple ou complexe (du moment qu'elle reste déterministe, c'est à dire qu'à tout moment, en fonction de l'état de la base donnée, il n'existe qu'une valeur possible)

CREATE INDEX IX1 ON T1 (COL1);

CREATE INDEX IX2 ON T1 (COL1, COL2);

CREATE INDEX IX3 ON T1 (upper(COL3));

CREATE INDEX IX4 ON T1 (ma_fonction(COL1, COL2));

où ma_fonction peut elle même être une requête sur d'autre table par exemple.

Généralement, afin d'isoler complètement le stockage physique des index, ils sont stockés au sein d'un tablespace dédié ; voir le script de migration pour Oracle.

Voir également :
créer un index de fonction.
Les index bitmap.
Les index B-tree.
Pourquoi mon index n'est pas utilisé ?




Vous n'avez pas trouver réponse à votre question ? Préciser votre recherche :

Catégories