الشركة الأفضل لبرمجة المواقع والتطبيقات و عرض أفضل سرفيرس في العالم العربي



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 deCREATE 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 .