Sobes.tech
Senior

Hangi bileşik indeksi yapardınız?

sobes.tech yapay zeka

AI'dan gelen yanıt

WHERE A=a AND B=b ve WHERE B=b AND A=a koşulları için bileşik indeks oluştururken, indeks içindeki sütunların sırası ve filtreleme sıklığı önemlidir.

Eğer sorgular her zaman her iki koşulu birlikte kullanıyorsa, (A, B) veya (B, A) indeksleri işe yarar, ancak etkinlik, hangi sütunun daha seçici olduğuna (yani, daha fazla veri filtrelediğine) bağlıdır.

  • A daha seçici ise, (A, B) indeksi daha iyidir.
  • B daha seçici ise, (B, A) indeksi daha iyidir.

Ayrıca, (A, B) indeksinin A veya A ve B filtresiyle yapılan sorgular için etkili olduğunu, ancak sadece B için değil olduğunu unutmamak gerekir.

Koşulların sırası farklı olan ve bazen sadece bir alan üzerinde olan sorgular varsa, iki ayrı indeks oluşturmayı veya kapsayıcı indeks (covering index) kullanmayı düşünebilirsiniz.

SQL'de indeks oluşturma örneği:

CREATE INDEX idx_a_b ON table_name (A, B);