Sobes.tech
Middle

Aké typy indexov existujú v databázach, aké sú ich rozdiely a ako sa rozhodujete, kedy ich použiť?

sobes.tech AI

Odpoveď od AI

V databázach existujú rôzne typy indexov, z ktorých hlavné sú:

  • B-Tree index — najrozšírenejší, vhodný pre rýchle vyhľadávanie, zoradenie a rozsahové dotazy.
  • Hash index — efektívny pre presné vyhľadávanie podľa kľúča, ale nepodporuje rozsahové dotazy.
  • Bitmap index — používa sa pre stĺpce s malým počtom unikátnych hodnôt, vhodný pre analytické dotazy.
  • Full-text index — pre rýchle vyhľadávanie v texte.

Rozdiely vo štruktúre a scenároch použitia:

  • B-Tree je univerzálny.
  • Hash je rýchlejší pre presné zhody.
  • Bitmap je efektívny pri nízkej kardinalite.

Kedy použiť:

  • Indexy sa umiestňujú na stĺpce, ktoré sa často filtrujú, zoradia alebo spájajú.
  • Neindexujte príliš veľa stĺpcov, aby operácie vkladania/aktualizácie neboli spomalené.
  • Analyzujte plány dotazov, aby ste pochopili, ktoré indexy sú potrebné.

Príklad v PostgreSQL:

CREATE INDEX idx_users_email ON users(email);

Tento index urýchli vyhľadávanie používateľov podľa emailu.