mysql

Mysql slow query log

Entry นี้อุดรูรั่วตัวเองและสำหรับคนที่อยากอุดนะ

ความช้าของหน้า เกิดขึ้นจากหลายสาเหตุ ถ้าแบ่งเป็นส่วนใหญ่ๆของ WAMP หรือ LAMP ก็คือ 5 อัน

  • hardware – กำลังจะพังรึเปล่า i/o อะไรที่ผิดปกติ
  • W/L อันนี้คือ OS รัน app อยู่แล้วเยอหรือเปล่า RAM/HDD พอรึเปล่า
  • A – Apache นั้น config หรือรับ con current เยอะอยู่หรือเปล่า (กรณี production)
  • M – Mysql เป็น Slow query หรือเปล่า ไม่มี Index หรือเปล่า record บวมหรือเปล่า
  • P – PHP เขียนอะไรพลาดไรพลาดไปรึเปล่า, คำนวนอะไรพลาดไป, stack ของ function เยอะเกินไปรึเปล่า

Entry นี้จะพูดเรื่อง Query
Query นั้นแทบจะใช้งานกันอยู่ตลอดเวลาสำหรับเรา แล้วมันก็เป็นอะไรที่ทำงานบ่อยมาก เช่นหน้านึงอาจจะ 200 query ขึ้นไปเลยก็ได้ เพราะฉนั้น หากหน้าหนึ่งช้าขึ้นมา ก็จะตั้งคำถามและว่า “แสรดช้าตรงใหนวะ”

Slow query และ Non index query ถือว่าเป็นอะไรที่เจอเยอะอยู่พอสมควร เพราะตอนที่ dev data จะน้อยมาก ทำให้ไม่ค่อยเกิดปัญหาเรื่องช้า

การอุดก็คือเอา data ยัดลงไปแล้ว query ดู หุหุ

แล้วเราก็เก็บ log ด้วยเช่น

เพิ่ม Slow log ของ mysql เลย

long_query_time=0.5
log-slow-queries=C:/wamp/logs/mysql-log-slow-queries.log
log_queries_not_using_indexes