Junior
Aké typy indexov existujú v databázach?
sobes.tech AI
Odpoveď od AI
Hlavné typy indexov v databázach:
-
B-strom (B+ strom):
- Najbežnejší typ.
- Vhodný pre širokú škálu operácií: vyhľadávanie v rozsahu, presná zhoda, zoradenie.
- Predvolene sa používa v mnohých RDBMS (MySQL, PostgreSQL, Oracle).
-
Hash indexy:
- Založené na hash tabuľke.
- Veľmi rýchle pre vyhľadávanie podľa presnej hodnoty (
=). - Nie sú vhodné pre vyhľadávanie v rozsahu (
BETWEEN,<,>), zoradenie (ORDER BY) alebo vyhľadávanie podľa vzoru (LIKE).
-
Fulltextové indexy:
- Určené na vyhľadávanie v texte v textových poliach (BLOB, TEXT).
- Umožňujú vyhľadávanie slov alebo fráz, zohľadňujú synonymá a morfologickú analýzu.
- Príklady:
MATCH...AGAINSTv MySQL/MariaDB,tsvector/tsqueryv PostgreSQL.
-
Priestorové indexy (R-tree):
- Používajú sa na indexovanie geografických alebo priestorových dát.
- Umožňujú efektívne nájdenie objektov v určitej oblasti alebo hraniciach.
-
Bitmap (bitová mapa):
- Používa sa v niektorých RDBMS (napr. Oracle, PostgreSQL).
- Vhodný pre polia s nízkou kardinalitou (malé množstvo unikátnych hodnôt, napr. pohlavie, stav: aktívny/neaktívny).
- Môže byť veľmi efektívny pre zložité dotazy s operáciami
ANDaOR.
-
Klastrovaný index:
- Ovplyvňuje fyzické usporiadanie dát v tabuľke.
- V tabuľke môže byť len jeden klastrovaný index.
- Často sa používa pre primárny kľúč.
-
Neklastrorvaný index:
- Neurčuje fyzické usporiadanie riadkov.
- Obsahuje ukazovatele na fyzické umiestnenie riadkov dát.
- Tabuľka môže mať viacero neklausterizovaných indexov.
-
Pokryvajúci index:
- Index, ktorý obsahuje všetky stĺpce potrebné na vykonanie dotazu, vrátane stĺpcov v zozname
SELECT, podmienkachWHEREaORDER BY. - Umožňuje RDBMS-u neobrátiť sa na tabuľkové dáta, čo zrýchľuje vykonanie dotazu.
- Index, ktorý obsahuje všetky stĺpce potrebné na vykonanie dotazu, vrátane stĺpcov v zozname
-
Funkčný (index podľa výrazu):
- Index vytvorený na základe výsledku funkcie alebo výrazu nad jednou alebo viacerými stĺpcami.
- Umožňuje indexovanie vypočítaných hodnôt.
Pri výbere typu indexu sa zohľadňuje typ dát, frekvencia a charakter dotazov (vyhľadávanie podľa presnej hodnoty, rozsahu, zoradenie, fulltextové vyhľadávanie atď.) a kardinalita stĺpca.