Conception Et Réalisation (Oracle) by Grare Stéphane - HTML preview

PLEASE NOTE: This is an HTML preview only and some elements such as links or page numbers may be incorrect.
Download the book in PDF, ePub, Kindle for a complete version.

Les index

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

index-78_1.png

index-78_2.png

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