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 BYiGROUP 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
UNIQUEró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.