Middle
Koje vrste indeksa postoje?
sobes.tech АИ
Одговор од АИ
Vrste indeksa zavise od konteksta njihove primene, obično u bazama podataka.
Po strukturi skladištenja:
- B-stablo (B-Tree): Najčešće korišćen tip, koristi se za sortirano skladištenje podataka i brzo pretraživanje opsega.
- B+ stablo (B+ Tree): Varijanta B-stabla, gde su svi podaci smešteni u listnim čvorovima, što optimizuje sekvencijalno čitanje.
- Hash indeks: Baziran na hash tabelama, efikasan za tačne podudarnosti, ali nije pogodan za pretraživanje opsega ili sortiranje.
- R-stablo (R-Tree): Koristi se za indeksiranje višedimenzionalnih podataka, na primer, geografskih koordinata.
Po nameni:
- Indeks primarnog ključa: Automatski se kreira za primarni ključ, garantuje jedinstvenost i služi kao identifikator zapisa.
- Sekundarni indeks: Kreira se na jednoj ili više kolona za ubrzanje upita, koji nisu primarni ključ.
- Jedinstveni indeks: Garantuje jedinstvenost vrednosti u indeksiranoj koloni (ili kombinaciji kolona).
- Indeks punog teksta: Koristi se za pretraživanje teksta unutar kolona.
- Prostorni indeks: Primjenjuje se za indeksiranje prostornh podataka.
Po načinu kreiranja:
- Klasterski indeks: Određuje fizički red skladištenja podataka u tabeli. Tabela može imati samo jedan klasterski indeks.
- Neklasterski indeks: Čuva pokazivače na stvarne podatke, koji mogu biti raspoređeni u drugom redosledu.
Primer kreiranja indeksa u SQL:
-- Kreiranje običnog indeksa
CREATE INDEX idx_lastname ON Employees (LastName);
-- Kreiranje jedinstvenog indeksa
CREATE UNIQUE INDEX idx_employeeid ON Employees (EmployeeID);
-- Kreiranje složenog indeksa
CREATE INDEX idx_name_city ON Customers (FirstName, City);