Przejdź do głównej treści
  1. Strona główna
  2. Słownik
  3. INF.03
  4. Indeks w SQL

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.