Fərqlilik performansa təsir edəcək?

Mündəricat:

Fərqlilik performansa təsir edəcək?
Fərqlilik performansa təsir edəcək?

Video: Fərqlilik performansa təsir edəcək?

Video: Fərqlilik performansa təsir edəcək?
Video: Korporativ mədəniyyət nədir? | Elşən Bədirxanov | Söhbətgah 2024, Noyabr
Anonim

Bəli, DISTINCT-dən istifadə (bəzən şərhə görə) nəticələrin sifariş edilməsinə səbəb olacaq Yüzlərlə qeydin çeşidlənməsi vaxt tələb edir. Bütün sütunlarınızı GROUP BY cəhd edin, bu, bəzən sorğu optimizatorunu daha səmərəli alqoritm seçməsinə səbəb ola bilər (ən azı Oracle ilə əhəmiyyətli performans artımı müşahidə etdim).

Fərqli istifadə etmək pisdir?

Yaxşı, "fərqli" sözünün düzgün istifadə edilməməsi yuxarıda müzakirə edildiyi kimi təkcə real problemi gizlətmir (cədvəllərdəki dublikat qeydlər, on bənddə şərt olmaması), həm də sorğu performansını aşağı salır… Bu, sorğunun IO Qiymətinin (məntiqi oxunuşların) əhəmiyyətli dərəcədə artmasına səbəb olacaq.

Fərqlilik sorğunu yavaşladırmı?

Çox az sorğu SELECT DISTINCT rejimində daha sürətli yerinə yetirilə bilər və çox az sorğu SELECT DISTINCT rejimində daha yavaş işləyəcək (lakin əhəmiyyətli dərəcədə yavaş deyil), lakin sonrakı hallar üçün çox güman ki, tətbiqin performans və mürəkkəblik yükünü tətbiqə keçirən dublikat halları araşdırması lazım ola bilər.

Fərqli və ya GROUP BY istifadə etmək daha yaxşıdır?

MySQL-də DISTINCT GROUP BY ilə müqayisədə bir az daha sürətli görünür, əgər Sahə indeksləşdirilməyibsə. DISTINCT yalnız dublikat sıraları aradan qaldırır, lakin GROUP BY onları əlavə olaraq çeşidləyir.

SQL-də niyə fərqli istifadə etməməliyik?

Bir problemi "düzəltmək" üçün fərqli seçim varsa, bunun müqabilində pis performans əldə edəcəksiniz. GROUP BY sizə AVG, MAX, MIN, SUM və COUNT kimi ümumi funksiyalardan istifadə etməyə imkan verir. DISTINCT sadəcə dublikatları silir.

Tövsiyə: