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ə