Sobes.tech
Junior

Millised on andmebaasi indeksite tüübid?

sobes.tech AI

Vastus AI-lt

Põhiliiki andmebaasi indeksite tüübid:

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

    • kasutatakse geograafiliste või ruumiliste andmete indekseerimiseks.
    • võimaldavad tõhusalt leida objekte kindlas piirkonnas või piirides.
  5. 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 AND ja OR operatsioonidega.
  6. Klastriline indeks:

    • mõjutab andmete füüsilist paigutust.
    • ühes tabelis võib olla ainult üks klastriline indeks.
    • sageli kasutatakse esmase võtme jaoks.
  7. Mitteklaustriline indeks:

    • ei määra füüsilist paigutust.
    • sisaldab viiteid andmete füüsilisele asukohale.
    • tabelis võib olla mitu mitteklaustrilist indeksit.
  8. Kattev indeks:

    • indeks, mis sisaldab kõiki päringuks vajalikke veerge, sh SELECT-i loendis, WHERE-i tingimustes ja ORDER BY-s.
    • võimaldab andmebaasil mitte pöörduda tabeli andmete poole, kiirendades päringut.
  9. 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.