Sobes.tech
Middle

შეიძლება იყოს ნელი SQL სვეტები. როგორ დიაგნოსტირება?

sobes.tech AI

პასუხი AI-სგან

Yavaş SQL sorğusunu diaqnoz etmək üçün adətən aşağıdakı addımları izləyirəm:

  1. İcra planını analiz et (EXPLAIN / EXPLAIN ANALYZE) — verilənlər bazası sisteminin sorğunu necə planlaşdırdığını, hansı indekslərin istifadə olunduğunu, tam cədvəl skanlarının olub-olmadığını yoxlayıram.

  2. İndeksləri yoxla — mecburiyyətlə, filtr və join-lərdə iştirak edən sütunların uyğun indekslərə sahib olduğundan əmin oluram.

  3. Resursların profilini çıxar — sorğu icra edilərkən CPU, disk, yaddaş istifadəsini izləyirəm.

  4. Sorğunu optimallaşdır — sorğunu sadələşdirir, bölüşdürür, artıq join və ya alt sorğuları çıxarıram.

  5. Statistikaları və onların aktuallığını yoxla — statistikalar köhnədirsə, plan səmərəsiz ola bilər.

  6. Verilənlər bazası parametrləri və konfiqurasiyası — bəzən yaddaş və ya cache ayarları performansa təsir edir.

  7. Fərqli məlumat həcmləri ilə test et — sorğunun necə miqyaslandığını anlamaq üçün.

PostgreSQL-də plan analiz üçün nümunə əmr:

EXPLAIN ANALYZE
SELECT * FROM orders WHERE customer_id = 123;

Bu, icra vaxtı və istifadə olunan əməliyyatlar haqqında ətraflı məlumat verəcək.