Sobes.tech
Middle

Jakie są rodzaje indeksów?

sobes.tech AI

Odpowiedź od AI

Rodzaje indeksów zależą od kontekstu ich zastosowania, zwykle w bazach danych.

Według struktury przechowywania:

  • B-drzewo (B-tree): Najbardziej powszechny typ, używany do uporządkowanego przechowywania danych i szybkiego wyszukiwania zakresów.
  • B+ drzewo (B+ tree): Wariant B-drzewa, w którym wszystkie dane przechowywane są w węzłach liści, co optymalizuje odczyt sekwencyjny.
  • Indeks haszowy: Opiera się na tablicach haszujących, skuteczny w wyszukiwaniu dokładnych dopasowań, ale nie nadaje się do wyszukiwania zakresów czy sortowania.
  • R-drzewo (R-tree): Używane do indeksowania danych wielowymiarowych, np. współrzędnych geograficznych.

Z przeznaczeniem:

  • Indeks klucza głównego: Tworzony automatycznie dla klucza głównego, zapewnia unikalność i służy jako identyfikator rekordu.
  • Indeks wtórny: Tworzony na jednej lub kilku kolumnach, aby przyspieszyć zapytania, które nie są kluczem głównym.
  • Indeks unikalny: Gwarantuje unikalność wartości w indeksowanej kolumnie (lub kombinacji kolumn).
  • Indeks pełnotekstowy: Używany do wyszukiwania tekstu w kolumnach.
  • Indeks przestrzenny: Służy do indeksowania danych przestrzennych.

Według sposobu tworzenia:

  • Indeks klastrowy: Określa fizyczny porządek przechowywania danych w tabeli. Tabela może mieć tylko jeden indeks klastrowy.
  • Indeks nieklastrowy: Przechowuje wskaźniki na rzeczywiste dane, które mogą być ułożone w innym porządku.

Przykład tworzenia indeksów w SQL:

-- Tworzenie zwykłego indeksu
CREATE INDEX idx_lastname ON Employees (LastName);

-- Tworzenie indeksu unikalnego
CREATE UNIQUE INDEX idx_employeeid ON Employees (EmployeeID);

-- Tworzenie indeksu złożonego
CREATE INDEX idx_name_city ON Customers (FirstName, City);