Senior
Kokius indeksus žinote ir kuriuos naudojote?
sobes.tech AI
Atsakymas iš AI
Pagrindiniai indeksų tipai, su kuriais dirbau:
- B-Tree indeksas — dažniausiai naudojamas, tinkamas greitam paieškai pagal lygybę ir diapazonus.
- Hash indeksas — efektyvus tiksliai paieškai pagal raktą, bet nepalaiko diapazoninių užklausų.
- Sudedamas (kompozicinis) indeksas — indeksas kelioms stulpeliams, pagreitina sudėtingas užklausas su filtravimu keliuose laukuose.
- Viso teksto indeksas — paieškai tekste, pvz., PostgreSQL ar MySQL.
- GIN/GiST indeksai — specializuoti indeksai darbui su masyvais, JSONB ir geografiniais duomenimis (PostgreSQL).
Go projektuose, dirbdamas su duomenų bazėmis, dažniausiai naudoju B-Tree ir sudėtinius indeksus užklausų optimizavimui. Pavyzdžiui, PostgreSQL sukūriau sudėtinį indeksą, kad pagreitintų filtravimą keliuose stulpeliuose:
CREATE INDEX idx_user_status_date ON users (status, created_at);
Tai žymiai sutrumpino užklausų vykdymo laiką su sąlygomis dėl būsenos ir datos.