วิธีการนี้มีประโยชน์ สำหรับตรวจสอบว่ามี ฐานข้อมูลไหนบ้างใน Server ที่มีการ query ฐานข้อมูลเป็นระยะเวลานานกว่าปกติเนื่องจากฐานข้อมูลที่มีการ query ฐานข้อมูลนานๆ นั้นมักจะเป็นฐานข้อมูลที่มีปัญหาครับ หรือมีการใช้งานที่ผิดปกติครับ
หากเราปล่อยไว้ slow query สะสมไว้มากๆ จะทำให้ประสิทธิภาพในการทำงานของ Server ลดลง จนอาจทำให้ Service Mysql ค้างได้ครับ
แก้ไข /etc/my.cnf เติมตรงนี้เข้าไปใน section ของ [mysqld] ครับ
log_slow_queries = /var/log/mysql/mysql-slow.log
long_query_time = 1
เสร็จแล้วสร้าง Directory กับเตรียม permission ให้เรียบร้อย เพื่อให้ mysql เขียน log ให้เราใน Directory นั้น
mkdir -p /var/log/mysql
chown mysql:mysql /var/log/mysql
เสร็จแล้ว restart mysql ครับ
service mysqld restart
ตรวจสอบ Log นี้ได้ที่
/var/log/mysql/mysql-slow.log
หมายเหตุ :
ถ้า restart แล้ว error ลองเปลี่ยนคำว่า log_slow_queries เป็น slow_query_log_file ดูครับ