:: DEVELOPER ZONE
CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name [index_type]
ON tbl_name (index_col_name,...)
index_col_name:
col_name [(length)] [ASC | DESC]
La requête CREATE INDEX n'effectue aucune action sur les versions de MySQL
antérieures à la version 3.22. Dans les versions 3.22 et supérieures, CREATE INDEX
est équivalent à une requête ALTER TABLE pour créer des index.
See Section 14.2.2, « Syntaxe de ALTER TABLE ».
Normalement, tous les index sont créés en même temps que la table elle même avec
CREATE TABLE.
See Section 14.2.6, « Syntaxe de CREATE TABLE ».
CREATE INDEX permet d'ajouter des index à une table existante.
Une liste de colonnes de la forme (col1,col2,...) crée un index multi-colonnes.
Les valeurs de l'index sont créées en concaténant la valeur deux colonnes données.
Pour les colonnes CHAR et VARCHAR, les index peut être créés sur uniquement
une partie de la colonne, avec la syntaxe col_name(length). Pour les colonnes
BLOB et TEXT la longueur d'index est obligatoire. La requête suivante
crée un index en utilisant les 10 premiers caractères de la colonne name :
mysql> CREATE INDEX part_of_name ON customer (name(10));
Comme la plupart des noms ont en général des différences dans les 10 premiers caractères,
l'index ne devrait pas être plus lent qu'un index créé à partir de la colonne name
en entier. Ainsi, en n'utilisant qu'une partie de la colonne pour les index, on peut réduire
la taille du fichier d'index, ce qui peut permettre d'économiser beaucoup d'espace disque,
et peut aussi accélérer les opérations INSERT!
Il est important de savoir qu'on peut indexer une colonne qui peut avoir la valeur NULL
ou une colonne BLOB/TEXT que si on utilise une version 3.23.2 ou supérieure de MySQL
et en utilisant le type MyISAM.
Pour plus d'informations à propos de l'utilisation des index dans MySQL, voir Section 7.4.5, « Comment MySQL utilise les index ».
Les index FULLTEXT ne peuvent indexer que des colonnes VARCHAR ou TEXT,
et seulement dans les tables MyISAM. Les index FULLTEXT sont disponibles dans les versions 3.23.23
et supérieures de MySQL.
Section 13.6, « Recherche en texte intégral (Full-text) dans MySQL ».
Les index SPATIAL peuvent indexer les colonnes spatiales,
et uniquement avec les tables MyISAM. Les index SPATIAL
sont disponibles en MySQL 4.1 et plus récent. Les colonnes spatiales sont
présentées dans section Chapitre 19, Données spatiales avec MySQL.
© 1995-2005 MySQL AB. All rights reserved.
