Comanda CREATE INDEX nu efectuează nicio operație în versiunea MySQL înainte de 3.22. În versiunea 3.22 și ulterioară, CREATE INDEX corespunde comenzii ALTER TABLE pentru crearea de indici. Vezi secțiunea 6.5.4 Sintaxă pentru instrucțiunea ALTER TABLE.
În mod obișnuit, toate indexurile sunt create în tabel atunci când tabela este creată utilizând comanda CREATE TABLE. Vezi secțiunea 6.5.3 Sintaxă a instrucțiunii CREATE TABLE. CREATE INDEX vă permite să adăugați indexuri la tabelele existente.
Lista coloanelor în formă (col1, col2.) Creează un index pentru mai multe coloane. Valorile indicilor se formează prin concatenarea valorilor coloanelor indicate.
Pentru coloanele de tip CHAR și VARCHAR, folosind parametrul col_name (lungime), pot fi create indexuri pentru care este utilizată doar o parte din coloană (pentru coloanele BLOB și TEXT, lungimea trebuie specificată). Comanda de mai jos creează un index utilizând primele 10 caractere ale coloanei de nume:
Deoarece cele mai multe nume diferă de obicei în primele 10 caractere, acest index nu ar trebui să fie mult mai lent decât cel creat din coloana cu numele în întregime. În plus, utilizând coloane incomplete pentru indexuri, puteți face fișierul index mult mai mic, iar acest lucru economisește spațiu pe disc și mărește și viteza operațiilor INSERT.
Rețineți că în MySQL versiunea 3.23.2 și ulterior, pentru tabele precum MyISAM, puteți adăuga un index pentru coloane care pot lua valori NULL sau pentru coloane BLOB / TEXT.
Pentru a obține mai multe informații despre modul în care MySQL utilizează indecși, vezi secțiunea 5.4.3 Utilizarea indecși în MySQL.
Cu opțiunea FULLTEXT, numai coloanele VARCHAR și TEXT pot fi indexate și numai în tabelele MyISAM. Această caracteristică este disponibilă numai în MySQL versiunea 3.23.23 și mai mare. Vedeți secțiunea 6.8 Căutarea fulltext în MySQL.