Junior
Verilənlər bazaları ilə işləmək kontekstində yavaş sorğu nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Yavaş sorğu, müəyyən bir sistem üçün gözlənilən və ya icazə verilən vaxtdan çox daha uzun müddətə icra olunan SQL sorğusudur və bu, tətbiqin performansına və istifadəçi təcrübəsinə mənfi təsir göstərir.
Yavaş sorğuların səbəbləri:
- İndekslərin olmaması və ya optimallaşdırılmaması.
- Verilənlər bazasının pis dizaynı (normalizasiyanın olmaması, redundans).
SELECT *istifadə edilməsində ehtiyatlı olmamaq.- Əlavə və ya səmərəsiz
JOINəməliyyatları. - Seçimin məhdudlaşdırılmaması (
LIMIT). - Böyük məlumat həcmi.
- Cədvəllərin və ya sətirlərin kilidlənməsi.
- Verilənlər bazası və ya serverin düzgün olmayan konfiqurasiyası.
Yavaş sorğuları müəyyən etmək üçün vasitələr:
- DBMS-də yavaş sorğu logları (
slow query log). - Performans monitorinq vasitələri (məsələn, New Relic, Datadog).
- Sorğu analizatorları (
EXPLAINMySQL-də,EXPLAIN PLANOracle-da).
EXPLAIN istifadə edərək sorğu analizi nümunəsi:
-- MySQL-də sorğu analizi
EXPLAIN SELECT customers.name, orders.order_date
FROM customers
JOIN orders ON customers.id = orders.customer_id
WHERE orders.order_date > '2023-01-01';
EXPLAIN analizi verilənlər bazasının sorğunu necə icra etdiyini anlamağa kömək edir: cədvəllərin birləşmə ardıcıllığı, istifadə olunan indekslər, oxunan sətirlərin sayı və s.
Yavaş sorğuların nəticələri:
- Tətbiqin cavab vaxtının artması.
- Verilənlər bazası serverinin yüklənməsinin artması.
- Digər sorğuların bloklanması.
- İstifadəçi təcrübəsinin pisləşməsi.
- İnfrastruktur xərclərinin artması.