Index : quels colonnes ?
- Quelles colonnes faut-il indexer ?
- Attributs utilisés fréquemment dans les clause WHERE (jointures ou sélections)
- L'efficacité augmente avec la sélectivité de l'attribut
- Automatique pour les clés primaires, unique
- Eviter d'indexer des colonnes fréquemment modifiées
- Inutile si la clé d'indexation est passée en paramètre d'une fonction
- Utiliser des index de fonctions
- On peut faire des index composés de plusieurs colonnes
- Si utilisées ensemble avec une clause AND
- Placer en premier les attributs les plus fréquemment utilisés
- Sinon, placer en premier celui sur lequel est ordonnée la table
Les types d'index
- Par défaut : Oracle utilise des arbres équilibrés (B-arbres)
- Clusters : regroupement de tables dans des blocs communs
- Autour d'un ensemble de colonnes communes
- La jointure sur ces colonnes est immédiate
- A décider à la création des tables
- Index Bitmap
- Pour des valeurs à faible sélectivité sur des grandes tables
- Bien adapté à des grandes conjonctions de prédicats
- Tables organisées sur l'index : la table est stockée avec l'index
- On peut indexer les résultats d'une fonction sur une colonne (UPPER, LOWER, ...)
- On peut partitionner un index aussi bien qu'une table
fabien
2007-11-22