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.