Instrukcja: CREATE INDEX
Polecenie CREATE INDEX jest zmapowane jako polecenie ALTER TABLE tworzące indeks dla określonego pola/pól w tabeli MySQL.CREATE [UNIQUE | FULLTEXT] INDEX nazwa_indeksu
ON nazwa_tabeli
(nazwa_kolumny[(długość)],...)
Zazwyczaj, wszystkie indeksy dla danej tabeli tworzy się w czasie tworzenia samej tabeli poleceniem CREATE TABLE.
CREATE INDEX pozwala na dodawanie indeksów do już istniejących tabel.
CREATE INDEX nowy_index ON tabela (kolumna1) - Tworzy index jednokolumnowy, oparty o kolumnę o nazwie kolumna1.
CREATE INDEX nowy_index ON tabela (kolumna1,kolumna2,kolumna3,...) - Tworzy index wielokolumnowy, oparty o wszystkie kolumny wymienione w nawiasie. wartości indeksu tworzone są przez łączenie wartości podanych kolumn.
Dla kolumn typu tekstowego: CHAR i VARCHAR, indeksy mogą być tworzone tylko przez wykorzystanie do tego celu części kolumny, używając składni:
CREATE INDEX nazwa_indeksu (nazwa_kolumny[(długość)],...)
W przypadku kolumn typu BLOB i TEXT argument długość jest wymagany.
Przykład:CREATE INDEX index_miasto ON tabela(miasto(7));
Ponieważ większość nazw miejscowości różni się na pierwszych 7 znakach, indeks taki nie powinien być dużo wolniejszy niż indeks utworzony z całej kolumny miasto. Niemniej jednak trzeba odpowiednio dobrać argument długość, gdyż często zaledwie jeden znak więcej, a może znacznie przyśpieszyć działanie bazy.
Z drugiej strony, stosowanie indeksów opartych na części kolumny powoduje tworzenie mniejszych plików indeksów. A mniejszy plik to mniejsza baza i więcej na dysku. Poza tym zapis mniejszego indeksu może znacząco przyspieszyć wykonywanie operacji INSERT.
Indeksy FULLTEXT mogą indeksować tylko kolumny typu VARCHAR lub TEXT i do tego tylko w tabelach typu MyISAM.
Artykuł utworzony: 2020-03-08 02:01:01: MySQL, CREATE, CREATE MySQL, CREATE INDEX, CREATE INDEX MySQL.