MySQL’de YavaÅŸ SQL Cümlelerini Loglama
Diyelim ki veritabanı sunucusu olarak MySQL kullandığınız bir web uygulamanız var. Uygulamanızı devreye aldıktan sonra veya almadan SQL cümlelerinizin performansını kontrol etmek istiyorsunuz. Veya sayfa takılıyor ve siz yavaşlığın ve takılmanın yüksek ihtimalle sql cümlelerinden birinin yavaş çalışıp geç sonuç döndürmesinden kaynaklandığını düşünüyorsunuz.
İşte bu tip durumlarda hangi sql cümlelerinin yavaÅŸ olduÄŸunu bulmak için MySQL’in ayar dosyası olan my.cnf dosyasında iki güzel ayar var. Ancak bu ayarlar default olarak kapalı geliyor. O yüzden daha önce bu ayarlara ellemediyseniz bu satırların başında bulunan # karakterini silerek bu ayarları etkinleÅŸtirmeniz gerekiyor.
-
-
log_slow_queries = /var/log/mysql/mysql-slow-queries.log
-
long_query_time = 5
-
Yukarıda gördüğünüz ayarlardan log_slow_queries ayarı bu sql cümlelerinin log’lanacağı log dosyasının dizin yolu ve dosya adını verdiÄŸimiz ayar. İkinci ayar olan long_query_time ayarı da sql cümlesinin çalışması ÅŸu kadar saniyeden fazla sürüyorsa bu sql cümlesini log’a yaz demek.
Bu ayarları my.cnf dosyasında yapıp kaydettikten sonra, MySQL’i kapatıp tekrar açmanız lazım.
MySQL tekrar başladıktan sonra artık yukarıda verdiğimiz log dosyasına bakarak yavaş çalışan sql cümlelerini görebilir ve gerekli optimizasyonları yapabiliriz.
Birilerinin işine yarar umarım