Sobes.tech
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);