Sobes.tech
Junior

Kādi ir datu bāzu indeksu veidi?

sobes.tech AI

Atbilde no AI

Galveno tipu indeksu datu bāzēs:

  1. 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).
  2. 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).
  3. 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...AGAINST MySQL/MariaDB, tsvector/tsquery PostgreSQL.
  4. Telpiskie indeksi (R-koks):

    • tiek izmantoti ģeogrāfisko vai telpisko datu indeksēšanai.
    • efektīvi atrod objektus noteiktā apgabalā vai robežās.
  5. 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 AND un OR operācijām gadījumā.
  6. 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ā.
  7. Neklastrēts indekss:

    • ne nosaka fizisko izvietojumu.
    • satur norādes uz fizisko datu izvietojumu.
    • tabulā var būt vairāki neklausterī indeksu.
  8. Aizklājošais (Covering) indekss:

    • indekss, kas satur visus nepieciešamos kolonnas, lai izpildītu vaicājumu, ieskaitot SELECT sarakstā, WHERE nosacījumos un ORDER BY.
    • ļauj DB sistēmai nepieejam datu, kas paātrina vaicājuma izpildi.
  9. 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.