Sobes.tech
Middle

Yavaş bir SQL sorgusu var. Nasıl teşhis edilir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Yavaş SQL sorgusunu teşhis etmek için genellikle şu adımları izlerim:

  1. Çalıştırma planını analiz et (EXPLAIN / EXPLAIN ANALYZE) — veritabanı sisteminin sorguyu nasıl planladığını, hangi indekslerin kullanıldığını, tam tablo taramalarının olup olmadığını kontrol ederim.

  2. İndeksleri kontrol et — filtrelerde ve join'lerde kullanılan sütunların uygun indekslere sahip olduğundan emin oluyorum.

  3. Kaynak profilini çıkar — sorgu sırasında CPU, disk, bellek kullanımı gibi kaynakları izlerim.

  4. Sorguyu optimize et — sorguyu basitleştirir, bölümlere ayırır, gereksiz JOIN veya alt sorguları kaldırırım.

  5. İstatistikleri ve güncelliğini kontrol et — istatistikler eskiyse, plan verimsiz olabilir.

  6. Veritabanı parametreleri ve yapılandırma — bazen bellek veya önbellek ayarları performansı etkiler.

  7. Farklı veri hacimleriyle test et — sorgunun nasıl ölçeklendiğini anlamak için.

PostgreSQL'de plan analizi için örnek komut:

EXPLAIN ANALYZE
SELECT * FROM orders WHERE customer_id = 123;

Bu, yürütme süresi ve kullanılan işlemler hakkında detaylı bilgi sağlar.