Sobes.tech
Middle

Kokie yra indeksų tipai?

sobes.tech AI

Atsakymas iš AI

Indeksų tipai priklauso nuo jų taikymo konteksto, dažniausiai duomenų bazėse.

Pagal saugojimo struktūrą:

  • B-medis (B-tree): Dažniausiai naudojamas tipas, skirtas tvarkingam duomenų saugojimui ir greitam diapazono paieškai.
  • B+ medis (B+-medis): B-medžio variantas, kur visi duomenys saugomi lapų mazguose, tai optimizuoja nuoseklų skaitymą.
  • Hash indeksas: Pagrįstas hash lentelėmis, efektyvus tiksliai atitikčiai paieškai, bet netinka diapazono paieškai ar rūšiavimui.
  • R-medžio (R-tree): Naudojamas daugiamatėms duomenų indeksacijoms, pavyzdžiui, geografinių koordinatų.

Pagal paskirtį:

  • Pirminis raktas indeksas: Automatiškai sukuriamas pirminiam raktui, užtikrina unikalumą ir tarnauja kaip įrašo identifikatorius.
  • Antrinis indeksas: Sukuriamas vienam ar keliems stulpeliams, siekiant pagreitinti užklausas, kurios nėra pirminis raktas.
  • Unikalus indeksas: Garantuoja unikalumą indeksuojamame stulpelyje (arba stulpelių derinyje).
  • Viso teksto indeksas: Naudojamas teksto paieškai stulpeliuose.
  • Erdvinis indeksas: Taikomas erdvinių duomenų indeksavimui.

Pagal kūrimo būdą:

  • Klastrinis indeksas: Nustato fizinį duomenų saugojimo tvarką lentelėje. Lentelė gali turėti tik vieną klastrinį indeksą.
  • Ne-klastrinis indeksas: Laiko nuorodas į tikrus duomenis, kurie gali būti išsidėstę kitokia tvarka.

SQL pavyzdys indeksų kūrimui:

-- Paprasto indekso kūrimas
CREATE INDEX idx_lastname ON Employees (LastName);

-- Unikalus indekso kūrimas
CREATE UNIQUE INDEX idx_employeeid ON Employees (EmployeeID);

-- Sudėtinio indekso kūrimas
CREATE INDEX idx_name_city ON Customers (FirstName, City);