Sobes.tech
Middle+
202

Məlumatlar toplusunun tam skan edilməsi indeksə girişdən daha effektiv olduğu zaman nədir?

AI-dan cavab

sobes.tech Süni İntellekt

İşlənməsi lazım olan qeydlərin faizi kifayət qədər yüksək olduqda (məsələn, 10-20%-dən çox), indeksdə axtarış və fərdi məlumat bloklarının oxunması xərcləri üstünlükləri aşdıqda.

Digər hallar:

  • Uyğun indeksin olmaması: Əgər sorğu üçün indeks mövcud deyilsə və ya axtarış sahələrini əhatə etmirsə və ya məlumatlara daha sürətli çıxış təmin etmirsə.
  • Məlumatların qeyri-bərabər paylanması (skew): Əgər indekslənmiş sahənin kardinallığı aşağıdırsa və məlumatların çoxu az sayda dəyərdə toplanıbsa, skan etmək çox vaxt itirmədən indeksin çoxsaylı yarpaqlarını keçməkdən daha sürətli ola bilər.
  • Kiçik məlumat dəsti: Kiçik cədvəllər üçün indeksin saxlanması və istifadəsi xərcləri onun istifadəsindən əldə olunan faydadan çox ola bilər.
  • Silsilə oxuma: Tam skan adətən diskdən ardıcıl oxuma tələb edir və bu, indeks vasitəsilə rastgələn oxumaqdan daha sürətli ola bilər, xüsusən HDD-də.
  • Satırda böyük məlumat həcmi: Əgər hər satır böyük məlumatlar ehtiva edirsə, bütün məlumat dəstini bir dəfə oxumaq, indeks vasitəsilə fərdi satırları almaqdan daha səmərəli ola bilər.

Tam skan etmənin daha səmərəli ola biləcəyi nümunə:

// Kiçik sayda satıra malik cədvəldə sadə SELECT *.
SELECT *
FROM small_table;

// Əksər satırları əhatə edən filtr ilə sorğu
SELECT *
FROM large_table
WHERE status = 'processed'; // Əgər əksər satırlar 'processed' vəziyyətindədirsə