Cara Mengaktifkan Slow Query MySQL/MariaDB

Banyak yang tidak tahu, MySQL maupun MariaDB punya kemampuan untuk memberitahukan informasi mana saja query SQL yang tidak optimal atau dalam bahasa teknisnya disebut ‘slow query’. Seberapa slow sih sebuah query itu? itu tergantung kebutuhan dan pengukuran masing-masing, dan konfigurasi untuk menangkap query lambat itu juga mudah diatur kalau di mySQL.

Untuk mengaktifkan log ini, silakan ikuti cara berikut:

  1. Dengan MySQL CLI

Silakan jalankan terminal dan buat file log baru:

mkdir /var/log/mysql/
touch /var/log/mysql/mysql-slow.log
chown -R mysql:mysql /var/log/mysql/

lalu login ke MySQL dengan

mysql -u namauser -p

:

kemudian enable slow query log dengan perintah:

mysql> SET GLOBAL slow_query_log_file = '/var/log/mysql/mysql-slow.log'; 

dan:

mysql> SET GLOBAL long_query_time = 10; 

lalu:

mysql> SET GLOBAL slow_query_log = 'ON';
mysql> FLUSH LOGS; 

jika ingin juga mencatat query yang tanpa menggunakan INDEX:

mysql> SET GLOBAL log_queries_not_using_indexes = 'YES'; 
  1. Dengan file konfigurasi my.cnf

buka file my.cnf dengan nano atau vim:

[mysqld]
...
slow_query_log = /var/log/mysql/mysql-slow.log
long_query_time = 10
log_queries_not_using_indexes = YES

dan simpan.

TIPS:

Jika 10 detik dalam value long_query_time terlalu singkat (karena memang banyak query wajar yang ada dalam rentang 10 detik), silakan ubah ke 25 atau 50 atau yang lain.

Untuk mencatat semua log, ubah long_query_time jadi 0.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: