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);