MySQL Yavaş Sorgu Analizi ile Performans İyileştirme

Web tabanlı uygulamalarda veri tabanı performansı, genel sistem hızını doğrudan etkiler. Özellikle yüksek trafikli veya büyük veri içeren sistemlerde, yavaş sorgular ciddi darboğazlara yol açabilir. Bu nedenle MySQL yavaş sorgu analizi, performans optimizasyonunun kritik bir parçasıdır.


1. Yavaş Sorgu Nedir?

MySQL’de belirli bir süreden uzun süren sorgular “yavaş sorgu” olarak tanımlanır. Bu sorgular:

  • Genellikle indeks kullanılmayan alanlarda çalışır,
  • Karmaşık JOIN ve WHERE koşulları içerir,
  • Veritabanı üzerinde yüksek kaynak tüketimine neden olur.

2. Yavaş Sorgu Günlüğü Nasıl Aktif Edilir?

Sunucunuzda my.cnf veya my.ini dosyasına aşağıdaki satırları ekleyerek yavaş sorgu kaydını başlatabilirsiniz:

slow_query_log = 1  
slow_query_log_file = /var/log/mysql-slow.log
long_query_time = 2

Bu yapılandırma, 2 saniyeden uzun süren sorguları loglar.


3. Analiz Araçları

Yavaş sorguları analiz etmek için şu araçlar tercih edilebilir:

  • mysqldumpslow: Log dosyasını özetleyerek tekrar eden yavaş sorguları sıralar.
  • pt-query-digest (Percona Toolkit): Sorgu istatistiklerini detaylı şekilde sınıflandırır.
  • phpMyAdmin / Adminer: Grafiksel arayüzle yavaş sorgu listesi sağlar.

4. Performans İyileştirme Yöntemleri

  • İndeks kullanımı: WHERE, JOIN ve ORDER BY alanlarına uygun indeksler oluşturulmalı.
  • LIMIT ve OFFSET optimizasyonu: Büyük veri setlerinde sayfalama doğru yapılmalı.
  • Sorgu sadeleştirme: Gereksiz kolonlar ve karmaşık alt sorgular sadeleştirilmeli.
  • Veritabanı yapısı gözden geçirilmeli: Normalizasyon ve tablo büyüklüğü kontrol edilmeli.

Sonuç

MySQL yavaş sorgu analizi, sadece daha hızlı veri yanıtı almak için değil, aynı zamanda sunucu kaynaklarının verimli kullanılması açısından da önemlidir. Özellikle cloud server ya da kiralık VDS gibi ortamlarda bu optimizasyonlar, doğrudan maliyet avantajı sağlar.

Hostavrupa.net