Millised on erinevat tüüpi indeksid SQL-is ja kuidas need mõjutavad päringute täitmist?
sobes.tech AI
Vastus AI-lt
SQL-is on erinevaid indeksitüüpe, mis mõjutavad päringute jõudlust ja andmete salvestamise viise:
-
B-Tree indeks — kõige levinum tüüp. Sobib kiireks otsinguks, sortimiseks ja vahemiku päringuteks. Indeks salvestab andmed tasakaalustatud puu struktuuris, tagades ligipääsu logaritmilise ajaga.
-
Hash indeks — kasutatakse kiireks otsinguks täpse vastavuse korral (näiteks,
WHERE veerg = väärtus). Ei toeta vahemiku päringuid ega sorteerimist. -
Bitmap indeks — tõhus madala kardinaliteediga veergude puhul (vähe unikaalseid väärtusi). Kasutab bitkaarte kiireks filtriks.
-
Clustered (klasterdatud) indeks — määrab füüsilise järjekorra ridade tabelis. Tavaliselt võib tabelil olla ainult üks klasterdatud indeks. Kiirendab päringuid klasterdatud indeksi võtme alusel.
-
Non-clustered (mitte-klasterdatud) indeks — eraldi struktuur, mis sisaldab võtmeid ja viiteid tabeli ridadele.
Päringute täitmisele mõju:
- Indeksid kiirendavad SELECT-operatsioone, eriti otsingu- ja sortimisnõuete korral.
- Võivad aeglustada INSERT-, UPDATE- ja DELETE-operatsioone, kuna indeksite uuendamine on vajalik.
- Indeksi tüübi valik sõltub päringute iseloomust ja andmestruktuurist.
Näide B-Tree indeksi loomise kohta SQL Serveris:
CREATE INDEX idx_customer_name ON Customers (LastName, FirstName);