Przejdź do treści głównej
INF.03Bazy Danych

Indeks w bazie danych (INDEX)

Specjalna pomocnicza struktura danych (najczęściej B-drzewo) przyspieszająca wyszukiwanie i sortowanie wierszy w tabeli kosztem wolniejszego zapisu.

Czym jest indeks w SQL?

Indeks działa jak skorowidz na końcu książki. Zamiast przeszukiwać całą tabelę wiersz po wierszu (Full Table Scan), silnik bazy danych natychmiast odnajduje żądane rekordy.

SQL
-- Tworzenie indeksu na kolumnie nazwisko:
CREATE INDEX idx_nazwisko ON klienci(nazwisko);

-- Tworzenie indeksu unikalnego:
CREATE UNIQUE INDEX idx_pesel ON uzytkownicy(pesel);

-- Usuwanie indeksu:
DROP INDEX idx_nazwisko ON klienci;

Kiedy warto tworzyć indeksy?

  • Na kolumnach często używanych w klauzulach WHERE, JOIN ... ON, ORDER BY i GROUP BY.
  • Na kolumnach o dużej unikalności danych.

Wady indeksów:

  • Zwiększają rozmiar bazy na dysku.
  • Spowalniają operacje modyfikacji danych (INSERT, UPDATE, DELETE), ponieważ każdy indeks musi zostać zaktualizowany.

Najczęstsze pułapki na egzaminie INF.03:

  • Klucz główny (PRIMARY KEY) automatycznie tworzy unikalny indeks główny.
  • Zdefiniowanie więzu UNIQUE również automatycznie tworzy unikalny indeks.

Chcesz sprawdzić to pojęcie w praktyce?

Przeszukaj pytania z oficjalnych arkuszy CKE powiązane z hasłem Indeks w bazie danych (INDEX) lub rozpocznij trening.