![Free-eBooks.net](/resources/img/logo-nfe.png)
![All New Design](/resources/img/allnew.png)
Les index ont pour but d’améliorer les performances des accès à la base de données
(requêtes). Ils sont utilisés implicitement par l’optimiseur de requête Oracle, et sont mis à
jour automatiquement. Avec les lignes. On crée des index, de manière générale, sur toutes
les clés étrangères et sur les critères de recherche courants.
Créer un index
Les index concernant les clés primaires et secondaires (index, UNIQUE) sont créés
automatiquement au CREATE TABLE avec comme nom, le nom de la contrainte. Pour les
index, il faut utiliser le CREATE INDEX.
CREATE INDEX nom ON table (colonne [DESC] [,…]) ;
Dans le code suivant, je crée un index sur la table « PRODUIT » avec la colonne
« LIBART ». Cet index aura le nom « mesproduits ».
CREATE INDEX mesproduits ON PRODUIT (LIBART);
77
Exemple1 : Création d’un index sur les clés étrangères NO_CDE de la table
Detail_Commandes.
Create index IK_NOCDE on Detail_Commandes (NO_CDE);
Exemple 2 : Création d’un index sur la table CLIDIVERS sur les colonnes NOMCLIENT et
ADRESSE (critère de recherche) concaténée.
Create index IK_CLID on Clidivers (NOMCLIENT, ADRESSE);
Les colonnes à indexer :
· Clés primaires, clés étrangères ou colonnes utilisées pour jointure
· Colonnes devant être triées (ORDER BY)
· Colonnes utilisées dans les requêtes GROUP BY
· Colonnes utilisées dans les fonctions d’agrégation
Les colonnes à ne pas indexer :
· Colonnes rarement référencées ou contenant des types bit, text ou image
· Colonnes contenant peu de valeurs uniques