Sobes.tech
Junior

Ce tipuri de indecși există în bazele de date?

sobes.tech AI

Răspuns de la AI

Tipurile principale de indici în bazele de date:

  1. B-tree (B+tree):

    • Cel mai răspândit tip.
    • Potrivit pentru o gamă largă de operații: căutare pe interval, potrivire exactă, sortare.
    • Folosit implicit în multe SGBD (MySQL, PostgreSQL, Oracle).
  2. Indici hash:

    • Bazat pe o tabelă hash.
    • Foarte rapid pentru căutări după potrivire exactă (=).
    • Nu sunt potriviți pentru căutări pe interval (BETWEEN, <, >), sortare (ORDER BY) sau căutare după șablon (LIKE).
  3. Indici de text complet:

    • Destinați pentru căutări în câmpuri de text (BLOB, TEXT).
    • Permite căutarea de cuvinte sau fraze, luarea în considerare a sinonimelor și efectuarea analizei morfologice.
    • Exemple: MATCH...AGAINST în MySQL/MariaDB, tsvector/tsquery în PostgreSQL.
  4. Indici spațiali (R-tree):

    • Folosiți pentru indexarea datelor geografice sau spațiale.
    • Permite găsirea eficientă a obiectelor într-o anumită zonă sau limite.
  5. Indici bitmap (hartă de biți):

    • Folosit în unele SGBD (de exemplu, Oracle, PostgreSQL).
    • Potrivit pentru câmpuri cu cardinalitate scăzută (puține valori unice, de exemplu, sex, stare: activ/inactiv).
    • Poate fi foarte eficient pentru interogări complexe cu operații AND și OR.
  6. Index clusterizat:

    • Influențează ordinea fizică de stocare a rândurilor din tabel.
    • În tabel poate exista doar un index clusterizat.
    • Adesea folosit pentru cheia primară.
  7. Index neclusterizat:

    • Nu determină ordinea fizică a rândurilor.
    • Conține indicatoare către locația fizică a rândurilor de date.
    • Un tabel poate avea mai multe indici neclusterizați.
  8. Index acoperitor (covering):

    • Un index care conține toate coloanele necesare pentru executarea unei interogări, inclusiv coloanele din SELECT, condițiile din WHERE și ORDER BY.
    • Permite SGBD-ului să nu acceseze datele tabelului, accelerând execuția interogării.
  9. Index funcțional (pe expresie):

    • Index construit pe rezultatul unei funcții sau expresii asupra uneia sau mai multor coloane.
    • Permite indexarea valorilor calculate.

La alegerea tipului de index, se ia în considerare tipul de date, frecvența și natura interogărilor (căutare după valoare exactă, interval, sortare, căutare full-text etc.) și cardinalitatea coloanei.