Indeks w SQL
Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
Co to jest indeks w SQL?
Indeks to struktura danych tworzona dla jednej lub kilku kolumn tabeli, która przyspiesza wyszukiwanie, sortowanie i łączenie danych. Działa podobnie jak indeks w książce: zamiast przeglądać całą tabelę rekord po rekordzie, system bazy danych może szybciej odnaleźć właściwe wiersze.
Indeksy stosuje się głównie dla kolumn często używanych w klauzulach:
WHERE- filtrowanie danych,ORDER BY- sortowanie,JOIN- łączenie tabel,- czasem
GROUP BY- grupowanie danych.
Przykład utworzenia indeksu
CREATE INDEX idx_nazwisko
ON pracownicy(nazwisko);
Taki indeks może przyspieszyć zapytania typu:
SELECT *
FROM pracownicy
WHERE nazwisko = 'Kowalski';
Indeks wielokolumnowy
Można utworzyć indeks na kilku kolumnach:
CREATE INDEX idx_miasto_nazwisko
ON klienci(miasto, nazwisko);
Jest to przydatne, gdy zapytania często filtrują lub sortują dane według tych kolumn razem.
Kiedy indeks pomaga?
Indeks warto zakładać na kolumnach, które są często przeszukiwane lub sortowane, np. numer PESEL, login, e-mail, data zamówienia, identyfikator klienta.
Wady indeksów
Indeksy nie zawsze są korzystne. Zajmują dodatkowe miejsce w bazie i mogą spowalniać operacje INSERT, UPDATE oraz DELETE, ponieważ baza musi aktualizować także strukturę indeksu.
Najważniejsze na egzamin
Jeżeli pytanie dotyczy zwiększenia wydajności wyszukiwania lub sortowania danych w bazie, poprawną odpowiedzią najczęściej jest: utworzyć indeks.