Sobes.tech
Middle

Kas yra indeksai duomenų bazėse, kokie jie būna ir su kuriais dirbote?

sobes.tech AI

Atsakymas iš AI

Duomenų bazių indeksai yra duomenų struktūros, kurios pagreitina paiešką ir duomenų išrinkimą tam tikrose stulpeliuose.

Pagrindiniai indeksų tipai:

  • B-Tree indeksas — dažniausiai naudojamas, tinkamas lygybės ir diapazono užklausoms.
  • Hash indeksas — greitas tiksliai atitinkančioms reikšmėms, bet nepalaiko diapazono užklausų.
  • Bitmap indeksas — efektyvus mažo unikalių reikšmių skaičiaus stulpeliams.
  • Viso teksto indeksas — paieškai tekste.
  • Sudėtinis indeksas — kelių stulpelių.

Mano patirtis su Go ir SQL rodo, kad aš dirbau su B-Tree indeksais, siekiant pagreitinti užklausas pagal raktus, ir su sudėtiniais indeksais sudėtingiems filtrams. Pavyzdžiui, PostgreSQL sukūriau indeksą:

CREATE INDEX idx_user_lastname_firstname ON users(lastname, firstname);

Tai pagreitina užklausas, filtruojant pagal pavardę ir vardą vienu metu.