Sobes.tech
Junior — Middle

Verilənlər bazasında indeksin sorğunu yerinə yetirmək üçün istifadə olunmamasına səbəb ola biləcək səbəblər hansılardır?

sobes.tech Süni İntellekt

AI-dan cavab

Veritabanında indeks bir neçə səbəbdən sorğu icra etmək üçün istifadə olunmaya bilər:

  • Aşağı seçicilik indeksi: əgər indeks çox təkrarlanan dəyərləri əhatə edən sütunları əhatə edirsə, optimizator tam cədvəl skanını daha sürətli hesab edə bilər.

  • İndeksli sütun üzərində funksiyalar və ya əməliyyatların istifadəsi: məsələn, sütun üzərində funksiya çağırılması (WHERE LOWER(name) = 'john') indeksin istifadəsini əngəlləyə bilər.

  • İndeks tərəfindən əhatə olunmayan şərtlərlə sorğu: əgər sorğu indeksə daxil olmayan sütunlardan istifadə edirsə və ya şərtlər indeksin quruluşuna uyğun deyilsə.

  • Kiçik cədvəl ölçüsü: kiçik cədvəllər üçün optimizator tam skan seçə bilər, çünki bu daha sürətlidir.

  • Statistikaların olmaması və ya köhnəlmiş statistikalar: optimizator statistikalar əsasında qərar verir; əgər onlar aktual deyilsə, indeks istifadə olunmaya bilər.

  • LIKE operatorundan istifadə, şablon '*' ilə başlayırsa (LIKE '%abc'), bu indeksin istifadəsini əngəlləyir.

  • OR ilə sorğular, onlar effektiv şəkildə indekslə əhatə oluna bilməz.

Bu səbəbləri anlamaq sorğuların və indekslərin quruluşunun optimallaşdırılmasına kömək edir.