La commande CREATE INDEX permet de créer un index référençant les emplacements de chaque valeur d'une colonne.
CREATE INDEX nom_index ON nom_table ASC | DESC
Un index stocké séparément de la table, est un ensemble de pointeurs désignant chaque numéro de lignes associées aux données d'une colonne.
Donnée | Position |
---|---|
CAMPUSPRESS | 4 |
EYROLLES | 3 |
ENI | 5 |
MICROSOFT PRESS | 7 |
O'REILLY | 1 |
O'REILLY | 2 |
WROX PRESS | 6 |
L'indexation terminée, les données seront rangées selon un ordre ascendant ASC ou descendant DESC permettant un accès plus rapide aux emplacements des données dans la table concernée.
Un index n'est vraiment utile que pour des tables de grande dimension, afin d'éviter un balayage complet des lignes pour trouver une information.
En outre, l'index consomme un espace mémoire considérable puisqu'il est aussi important que celui de la table elle-même.
Une indexation peut s'appliquer sur une ou plusieurs colonnes.
Toutefois, un index sur une seule colonne reste le plus simple, et partant le plus efficace si la colonne concernée est sollicitée très régulièrement.
CREATE INDEX nom_index ON nom_table(nom_colonne)
Un index sur plusieurs colonnes est utilisable sur un ensemble de colonnes souvent employées dans des clauses conditionnelles WHERE. Dans ce cas, la
CREATE INDEX nom_index ON nom_table(nom_colonne, ..., nom_colonneN)
Les index peuvent être supprimés par l'intermédiaire de l'instruction DROP INDEX.
ExempleDROP INDEX nom_index
CREATE INDEX idx_personnel ON tbl_personnel (num_secu_soc) CREATE INDEX idx_personnel ON tbl_personnel (nom, prenom) |