Sobes.tech
Senior

Qaysi birikma indeksini yaratardingiz?

sobes.tech AI

AIdan javob

Birinchi indeksni WHERE A=a AND B=b va WHERE B=b AND A=a shartlari uchun yaratishda, indeksdagi ustunlarning tartibi va filtrlanish tezligi muhimdir.

Agar so'rovlar har doim ikkala shartni birga ishlatsa, (A, B) yoki (B, A) indekslari ishlaydi, ammo samaradorligi qaysi ustun ko'proq tanlanganiga (ya'ni, ko'proq ma'lumotni filtrlashiga) bog'liq.

  • Agar A ko'proq tanlangan bo'lsa, (A, B) indeksini tanlang.
  • Agar B ko'proq tanlangan bo'lsa, (B, A) indeksini tanlang.

Shuningdek, (A, B) indeksidan A yoki A va B bo'yicha filtrlangan so'rovlar uchun samarali foydalaniladi, lekin faqat B uchun emas.

Agar so'rovlar shartlarning tartibida o'zgarishlar bo'lsa va ba'zan faqat bitta maydon bo'yicha bo'lsa, ikki alohida indeks yaratish yoki qamrab oluvchi indeks (covering index) ishlatishni ko'rib chiqish mumkin.

SQLda indeks yaratish misoli:

CREATE INDEX idx_a_b ON table_name (A, B);