Sobes.tech
Junior

Milyen típusú indexek léteznek az adatbázisokban?

sobes.tech MI

Válasz az MI-től

Az adatbázisokban az index típusai:

  1. B-fa (B+fa):

    • A legelterjedtebb típus.
    • Széles körű műveletekhez alkalmas: tartománykeresés, pontos egyezés, rendezés.
    • Alapértelmezettként sok DBMS-ben (MySQL, PostgreSQL, Oracle).
  2. Hash indexek:

    • Egy hash-táblán alapulnak.
    • Nagyon gyorsak pontos egyezés keresésénél (=).
    • Nem alkalmasak tartománykeresésre (BETWEEN, <, >), rendezésre (ORDER BY) vagy mintakeresésre (LIKE).
  3. Teljes szöveg indexek:

    • Szövegmezőkben (BLOB, TEXT) való keresésre tervezték.
    • Szavakat vagy kifejezéseket kereshetnek, szinonimákat figyelembe vehetnek, morfológiai elemzést végezhetnek.
    • Példák: MATCH...AGAINST MySQL/MariaDB-ben, tsvector/tsquery PostgreSQL-ben.
  4. Térbeli indexek (R-fa):

    • Geográfiai vagy térbeli adatok indexelésére használják.
    • Hatékonyan találják meg a tárgyakat adott területen vagy határok között.
  5. Bit térképes indexek:

    • Néhány DBMS-ben (pl. Oracle, PostgreSQL) használják.
    • Alacsony kardinalitású mezőkhöz alkalmasak (kevés egyedi érték, pl. nem, státusz: aktív/inaktív).
    • Nagyon hatékonyak lehetnek összetett lekérdezéseknél AND és OR műveletekkel.
  6. Klaszterezett index:

    • A táblázat fizikai adatsorrendjét befolyásolja.
    • Egy táblában csak egy klaszterezett index lehet.
    • Gyakran használják elsődleges kulcshoz.
  7. Nem klaszterezett index:

    • Nem határozza meg a fizikai sorrendet.
    • Mutatókat tartalmaz a fizikai helyre a sorokhoz.
    • Egy táblában több nem klaszterezett index is lehet.
  8. Fedő index:

    • Olyan index, amely tartalmazza az összes oszlopot, amelyek szükségesek egy lekérdezés végrehajtásához, beleértve a SELECT, WHERE és ORDER BY oszlopokat.
    • Lehetővé teszi az SGBD számára, hogy ne kelljen hozzáférnie a táblázat adataihoz, ezáltal gyorsítva a lekérdezést.
  9. Funkcionális index (kifejezés szerinti):

    • Egy vagy több oszlop eredményén alapuló index.
    • Lehetővé teszi a számított értékek indexelését.

Az index típusának kiválasztásakor figyelembe veszik az adatok típusát, a lekérdezések gyakoriságát és természetét (pontos érték keresése, tartomány, rendezés, teljes szöveg keresés stb.), valamint az oszlop kardinalitását.