Kursy i Poradniki IT - Adrian Kowalski
Kurs SQL dla Początkujących
O lekcji

Indeksy są strukturą pomocniczą, która przyspiesza dostęp do danych w tabelach przy wykonywaniu zapytań, zwłaszcza tych używających klauzul WHEREJOIN, czy ORDER BY.

Tworzenie indeksów

Indeks można utworzyć na jednej kolumnie lub na kilku kolumnach.

  1. Indeks na jednej kolumnie:

    • Przykład: Utwórz indeks na kolumnie Nazwisko w tabeli Klienci:
      CREATE INDEX idx_nazwisko ON Klienci(Nazwisko);
      
  2. Indeks unikalny:

    • Powoduje, że wartości w indeksowanej kolumnie muszą być unikalne.
    • Przykład: Utwórz unikalny indeks na kolumnie Email:
      CREATE UNIQUE INDEX idx_email ON Klienci(Email);
      
  3. Indeks złożony:

    • Tworzy indeks na wielu kolumnach. Użyteczne np. przy sortowaniu lub wyszukiwaniu według wielu kryteriów.
    • Przykład:
      CREATE INDEX idx_imie_nazwisko ON Klienci(Imię, Nazwisko);
      

Rola indeksów w optymalizacji zapytań

Indeksy znacząco przyspieszają działanie zapytań, ale należy pamiętać:

  • Zalety: Przyspieszają wyszukiwanie danych i wykonywanie zapytań z warunkami (WHEREJOINORDER BY).
  • Wady: Spowalniają operacje takie jak wstawianie (INSERT) lub aktualizacja (UPDATE), ponieważ indeks musi być ciągle aktualizowany.

Przykład z klauzulą WHERE: Mając indeks na kolumnie Nazwisko, zapytanie:

SELECT * FROM Klienci WHERE Nazwisko = 'Kowalski';

zostanie wykonane znacznie szybciej (szczególnie w przypadku dużej liczby wierszy).