Junior
Kādi ir datu bāzu indeksu veidi?
sobes.tech AI
Atbilde no AI
Galveno tipu indeksu datu bāzēs:
-
B-koks (B+koks):
- visizplatītākais tips.
- piemērots plašam operāciju diapazonam: diapazona meklēšana, precīza atbilstība, kārtošana.
- tiek izmantots kā noklusējuma daudzās DB pārvaldības sistēmās (MySQL, PostgreSQL, Oracle).
-
Hesh-indeksi:
- balstīti uz hesh-tabulu.
- ļoti ātri precīzai atbilstībai (
=). - nav piemēroti diapazona meklēšanai (
BETWEEN,<,>), kārtošanai (ORDER BY) vai šablona meklēšanai (LIKE).
-
Pilna teksta indeksi:
- paredzēti teksta laukos meklēšanai (BLOB, TEXT).
- ļauj meklēt vārdus vai frāzes, ņem vērā sinonimus un veikt morfoloģisko analīzi.
- piemēri:
MATCH...AGAINSTMySQL/MariaDB,tsvector/tsqueryPostgreSQL.
-
Telpiskie indeksi (R-koks):
- tiek izmantoti ģeogrāfisko vai telpisko datu indeksēšanai.
- efektīvi atrod objektus noteiktā apgabalā vai robežās.
-
Bitu karte (Bitmap):
- tiek izmantots dažās DB pārvaldības sistēmās (piemēram, Oracle, PostgreSQL).
- piemērots zemas kardinalitātes laukiem (mazs unikālo vērtību skaits, piemēram, dzimums, statuss: aktīvs/neaktīvs).
- var būt ļoti efektīvs sarežģītu vaicājumu ar
ANDunORoperācijām gadījumā.
-
Klastrēts indekss:
- ietekmē datu fizisko izvietojumu.
- vienu klastrēto indeksu var būt tikai vienā tabulā.
- bieži tiek izmantots galvenā atslēgas gadījumā.
-
Neklastrēts indekss:
- ne nosaka fizisko izvietojumu.
- satur norādes uz fizisko datu izvietojumu.
- tabulā var būt vairāki neklausterī indeksu.
-
Aizklājošais (Covering) indekss:
- indekss, kas satur visus nepieciešamos kolonnas, lai izpildītu vaicājumu, ieskaitot
SELECTsarakstā,WHEREnosacījumos unORDER BY. - ļauj DB sistēmai nepieejam datu, kas paātrina vaicājuma izpildi.
- indekss, kas satur visus nepieciešamos kolonnas, lai izpildītu vaicājumu, ieskaitot
-
Funkcionālais (izteiksmes) indekss:
- indekss, kas būvēts uz funkcijas vai izteiksmes rezultāta vienā vai vairākās kolonnās.
- ļauj indeksēt aprēķinātās vērtības.
Izvēloties indeksa tipu, ņem vērā datu tipu, biežumu un vaicājumu raksturu (precīza vērtības meklēšana, diapazons, kārtošana, pilna teksta meklēšana utt.) un kolonnas kardinalitāti.