Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/07112.jsonl.gz/269

CREATE [UNIQUE] INDEX Nom_indexON Nom_table (Nom_col[(longueur]),... )
The
CREATE INDEX n'est disponible qu'à partir de la version 3.22.
CREATE INDEX est un raccourci de
ALTER TABLE qui crée des index.
ALTER TABLE
Généralement, il est possible de créer des tous les index d'une table au moment de la création de la table, avec
CREATE TABLE.
CREATE TABLE
CREATE INDEX permettra alors d'ajouter de nouveaux index.
Une liste de nom de colonne de format
(col1,col2,...) créer un index de multiples colonnes. Les index sont formés en concaténant les différentes valeurs en une ligne.
Pour les valeurs de type
CHAR et
VARCHAR , les index peuvent ne prendre en compte qu'une partie de la colonne, en précisant
Nom_col(longueur) . (Avec les types
BLOB et
TEXT, cette longueur est obligatoire. ). La commande suivante montre comment créer un index sur les 10 premiers caractères d'une colonne :
mysql> CREATE INDEX part_of_name ON customer (name(10));
Etant donné que la plus part des mots diffèrent les uns des autres dans les 10 premières lettres, l'index crée ne devrait pas être moins efficace que la colonne, tout en étant nettement plus rapide. Faire des index à valeur partiel permet de réduire la taille des index, et d'accélérer les opération de tris et d'insertion.
Il faut noter que l'on peut ajouter à un index une colonne qui accepte les types
NULL, que depuis la version 3.23.2 de MySQL. De même pour les colonnes de type
BLOB/
TEXT. Cela impose l'utilisation du format de table
MyISAM.