| Termin | Definicja |
|---|---|
| Tworzenie indeksu | Tworzenie indeksu poleceniem CREATE INDEX przyspiesza wyszukiwanie kosztem dodatkowego miejsca i obciążenia zapisu. Rola indeksu w strukturze bazy danychTworzenie indeksu polega na dodaniu pomocniczej struktury danych powiązanej z tabelą. Struktura ta przechowuje wartości wybranej kolumny lub zestawu kolumn w uporządkowanej postaci oraz informacje pozwalające odnaleźć odpowiadające im wiersze tabeli. Dzięki temu silnik bazy danych może ograniczyć zakres odczytu podczas wyszukiwania, zamiast sprawdzać kolejno każdy rekord. Indeks nie zawiera zwykle pełnej kopii wszystkich danych z tabeli, dlatego jego użycie nie eliminuje potrzeby odczytania właściwych wierszy, ale może znacząco zmniejszyć liczbę operacji wejścia i wyjścia. Indeks jest przydatny przede wszystkim wtedy, gdy zapytania często filtrują dane według określonej kolumny, łączą tabele za pomocą klucza albo sortują wynik według przewidywalnego pola. Typowym przykładem jest kolumna przechowująca identyfikator, numer dokumentu, adres e-mail lub datę utworzenia rekordu. Samo utworzenie indeksu nie gwarantuje jednak przyspieszenia każdego zapytania. Optymalizator wybiera plan wykonania na podstawie statystyk, szacowanej liczby wyników, kosztu odczytu oraz dostępnych struktur indeksowych. Polecenie CREATE INDEX i dobór kolumnDo utworzenia zwykłego indeksu służy polecenie Przy indeksie wielokolumnowym znaczenie ma kolejność kolumn. Indeks zdefiniowany jako Koszt utrzymania i wpływ na operacje zapisuIndeks zajmuje dodatkowe miejsce na nośniku i w pamięci operacyjnej używanej przez silnik. Każde dodanie, zmiana albo usunięcie wiersza może wymagać aktualizacji wszystkich indeksów obejmujących zmieniane dane. W rezultacie indeks, który przyspiesza odczyty, może jednocześnie zwiększać koszt operacji Nie każdy indeks jest też stale używany. Duplikaty, indeksy o bardzo podobnym zestawie kolumn oraz struktury pozostałe po dawnych zapytaniach zwiększają złożoność schematu bez gwarantowanej korzyści. Ocena powinna obejmować plan wykonania zapytania, częstotliwość odczytów i zapisów, rozmiar tabeli oraz aktualność statystyk. Przy dużych tabelach utworzenie indeksu może trwać długo i wymagać dodatkowego miejsca tymczasowego. W zależności od silnika i użytej opcji operacja może również wpływać na blokowanie tabeli lub współbieżność, dlatego indeksowanie tabel używanych produkcyjnie wymaga sprawdzenia zachowania konkretnej wersji silnika. Weryfikacja działania indeksu po utworzeniuPo wykonaniu Diagnostyka problemów z indeksem obejmuje również sprawdzenie zgodności typu danych, warunku zapytania i kolejności kolumn w indeksie wielokolumnowym. Funkcja zastosowana do indeksowanej kolumny, niejawna konwersja typu albo wyrażenie o innej postaci może ograniczyć możliwość wykorzystania struktury. Należy także uwzględnić unikalność danych: indeks zwykły nie blokuje powtórzeń, natomiast indeks utworzony z opcją |