Junior
Millised on andmebaasi indeksite tüübid?
sobes.tech AI
Vastus AI-lt
Põhiliiki andmebaasi indeksite tüübid:
-
B-puu (B+puu):
- kõige levinum tüüp.
- sobib laia valiku operatsioonide jaoks: vahemiku otsing, täpne vaste, sortimine.
- kasutatakse vaikimisi paljudes andmebaasisüsteemides (MySQL, PostgreSQL, Oracle).
-
Hash-indeksid:
- põhinevad hash-tabelil.
- väga kiire täpse vaste otsimiseks (
=). - ei sobi vahemiku otsinguks (
BETWEEN,<,>), sortimiseks (ORDER BY) või mustri otsinguks (LIKE).
-
Täisteksti indeksid:
- mõeldud tekstiväljade otsinguks (BLOB, TEXT).
- võimaldavad otsida sõnu või fraase, arvestada sünonüüme ja teha morfoloogilist analüüsi.
- näited:
MATCH...AGAINSTMySQL/MariaDB-s,tsvector/tsqueryPostgreSQL-s.
-
Asukohaindeksid (R-puu):
- kasutatakse geograafiliste või ruumiliste andmete indekseerimiseks.
- võimaldavad tõhusalt leida objekte kindlas piirkonnas või piirides.
-
Bittkaart (Bitmap):
- kasutatakse mõnedes andmebaasisüsteemides (näiteks Oracle, PostgreSQL).
- sobib madala kardinaliteediga väljadele (väike arv unikaalseid väärtusi, nt sugu, staatus: aktiivne/mitteaktiivne).
- võib olla väga tõhus keerukate päringute puhul
ANDjaORoperatsioonidega.
-
Klastriline indeks:
- mõjutab andmete füüsilist paigutust.
- ühes tabelis võib olla ainult üks klastriline indeks.
- sageli kasutatakse esmase võtme jaoks.
-
Mitteklaustriline indeks:
- ei määra füüsilist paigutust.
- sisaldab viiteid andmete füüsilisele asukohale.
- tabelis võib olla mitu mitteklaustrilist indeksit.
-
Kattev indeks:
- indeks, mis sisaldab kõiki päringuks vajalikke veerge, sh
SELECT-i loendis,WHERE-i tingimustes jaORDER BY-s. - võimaldab andmebaasil mitte pöörduda tabeli andmete poole, kiirendades päringut.
- indeks, mis sisaldab kõiki päringuks vajalikke veerge, sh
-
Funktsionaalne (väärtuse põhine) indeks:
- indeks, mis on üles ehitatud ühe või mitme veeru funktsiooni või väljendi tulemusel.
- võimaldab arvutatud väärtuste indekseerimist.
Indeksi tüübi valimisel arvestatakse andmetüüpi, sagedust ja päringute iseloomu (täpne väärtuse otsing, vahemik, sortimine, täisteksti otsing jne) ning veeru kardinaliteeti.