Mysql Slow Query Log

Mysql Slow Query Log

Mysql Slow Query Log adalah variabel yang ada di dalam Mysql. Variabel ini defaultnya “Off” tetapi bisa diaktifkan jika kita menghendaki. Variabel slow query log berfungsi untuk menampilkan query yang kita anggap slow. Adapun kriteria “slow”, harus kita definisikan terlebih dahulu.

Sebagai contoh kita ingin mengetahui query mana saja yang kecepatannya melebihi 5 detik. Maka kita dapat mengaktifkan variabel “slow query log”, kemudian kita tentukan file untuk menulis log, dan kemudian tentukan kriteria waktu yang kita anggap “slow” dalam hal ini adalah 5 detik. Maka setiap ada query yang waktu query-nya melebihi 5 detik, maka sintak sql dari query tersebut akan ditulis ke dalam log. Dari log itulah kita dapat mengevaluasi apa yang salah dengan query tersebut sehingga memerlukan waktu lebih dari 5 detik untuk melakukan query. Hasil evaluasi dapat digunakan untuk memperbaiki database kita, misalkan dengan menambahkan index-index tertentu ke dalam tabel tertentu supaya query yang tadinya lambat dapat menjadi lebih cepat.

Untuk mengaktifkan slow query log, dapat dilakukan dengan proses sebagai berikut:

  • Login ke dalam mysql melalui Command Line Interface (CLI)
     $mysql
  • Tentukan dimana kita akan menempatkan file slow query log, contohnya di /var/log/mysql/slow_query.log (pastikan mysql memiliki permission untuk menulis di folder yang akan ditempati file slow log)

mysql> SET GLOBAL slow_query_log_file = ‘/var/log/mysql/slow_query.log’;

  • Tentukan kriteria waktu yang kita anggap slow (misalkan 5 detik)
    mysql> SET GLOBAL long_query_time = 10;
  • Aktifkan variabel slow query log
    mysql> SET GLOBAL slow_query_log = 'ON';
    mysql> FLUSH LOGS;
  • Untuk melihat query-query mana saja yang lambat (lebih dari waktu yang sudah ditentukan) dapat diakses file slow query log.

Leave a Reply

Your email address will not be published. Required fields are marked *