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:
-
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).
-
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).
-
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...AGAINSTMySQL/MariaDB-ben,tsvector/tsqueryPostgreSQL-ben.
-
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.
-
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ésORműveletekkel.
-
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.
-
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.
-
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ésORDER BYoszlopokat. - 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.
- Olyan index, amely tartalmazza az összes oszlopot, amelyek szükségesek egy lekérdezés végrehajtásához, beleértve a
-
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.