6.5 Définition de données : CREATE , DROP , ALTER
6 Référence du langage MySQL
Manuel de Référence MySQL 4.1 : Version Française
. Syntaxe de CREATE DATABASE . Syntaxe de DROP DATABASE . Syntaxe de CREATE TABLE . Syntaxe de ALTER TABLE . Syntaxe de RENAME TABLE . Syntaxe de DROP TABLE ->Syntaxe de CREATE INDEX . Syntaxe de DROP INDEX
|
6.5.7 Syntaxe de CREATE INDEX
CREATE [UNIQUE|FULLTEXT] INDEX index_name ON tbl_name (col_name[(length)],... )
|
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.
Syntaxe de
ALTER TABLE
.Normalement, tous les index sont créés en même temps que la table elle même avec
CREATE TABLE
.
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 dex colonnes données.
Pour les colonnes
CHAR
et
VARCHAR
, les index peut être créés sur uniquement
une partie de la colonne, avec la syntax
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 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.
Recherche full-text avec MySQL .
|