Sobes.tech
Junior — Middle

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