FirebirdSQL logo
 TABLEVIEW 

CREATE INDEX

Objectif

Pour créer un index pour une table.

Disponible en

DSQL, ESQL.

CREATE [UNIQUE] [ASC[ENDING] | DESC[ENDING]]
INDEX indexname ON tablename
{(<column_list>) | COMPUTED [BY] (<value_expression>)}
[WHERE <search_condition>]

<column_list> ::= col [, col ...]
Table 1. Paramètres de la commande CREATE INDEX.
Paramètre Description

indexname

Nom de l’index.Peut contenir jusqu’à 63 caractères.

tablename

Le nom de la table pour laquelle l’index est construit.

col

Colonne de la table.Les champs BLOB, ARRAY et calculés ne peuvent pas être utilisés comme colonnes.

value_expression

Une expression contenant les colonnes du tableau. Les valeurs de cette expression seront les clés de l’index.

search_condition

Une condition de recherche contenant les colonnes de la table. Utilisée pour définir un sous-ensemble d’enregistrements de la table à indexer.

L’instruction CREATE INDEX crée un index pour la table, qui peut être utilisé pour accélérer la recherche, le tri et/ou le regroupement.L’index peut également être utilisé lors de la définition de contraintes telles que les contraintes de clé primaire, de clé étrangère ou d’unicité.Un index peut être construit sur des colonnes de tout type autre que BLOB et les tableaux.Le nom de l’index doit être unique parmi tous les noms d’index.

Note
Indices dans les clés

L’ajout d’une contrainte de clé primaire, d’une contrainte de clé étrangère ou d’une contrainte d’unicité créera implicitement un index du même nom.Par exemple, l’instruction suivante créera implicitement un index PK_COUNTRY.

ALTER TABLE COUNTRY
ADD CONSTRAINT PK_COUNTRY PRIMARY KEY (ID);

Indices uniques

Si le mot-clé UNIQUE est spécifié lors de la création de l’index, celui-ci garantit l’unicité des valeurs des clés.Un tel indice est appelé indice unique.Un indice unique n’est pas une restriction de l’unicité.

Les index uniques ne peuvent pas contenir de valeurs de clés dupliquées (ou de combinaisons de valeurs de clés dupliquées dans le cas d’un index composite, multi-colonnes ou multi-segments). Les valeurs NULL dupliquées sont autorisées selon la norme SQL-99, également dans les index multisegments.