Skoro wiesz już, czym jest indeks, czas założyć własny katalog. Służy do tego polecenie CREATE INDEX.
1CREATE INDEX idx_tytul ON ksiazki(tytul);Czytamy to tak: "Utwórz katalog o nazwie idx_tytul, który spisuje regał ksiazki według kolumny tytul". Od tej chwili wyszukiwanie po tytule będzie błyskawiczne. Nazwy indeksów zwyczajowo zaczynamy od
idx_, by łatwo je rozpoznać.Czasem chcemy, by wartości w kolumnie się nie powtarzały - na przykład każdy czytelnik musi mieć inny adres e-mail. Wtedy zakładamy UNIQUE INDEX:
1CREATE UNIQUE INDEX idx_email ON czytelnicy(email);Taki indeks działa jak zwykły katalog, ale dodatkowo pilnuje, by żaden adres nie pojawił się dwa razy. Próba dodania drugiego czytelnika z tym samym e-mailem zakończy się błędem.
Indeksuj kolumny, których często używasz do:
WHERE (np. WHERE tytul = ...),JOIN (np. autor_id),ORDER BY.Katalog trzeba aktualizować przy każdej zmianie zwojów. Tak samo indeks:
INSERT, UPDATE, DELETE),Dlatego nie indeksujemy wszystkiego jak leci - zakładamy katalogi tylko tam, gdzie naprawdę przyspieszą pracę Biblioteki.