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