คู่มือนี้จะอธิบายวิธีตั้งค่าการเข้าสู่ระบบ "แบบสอบถามช้า" ใน MySQL เพื่อให้คุณสามารถระบุได้ว่าข้อความค้นหาใดทำให้เกิดการชะลอตัว
หากคุณเรียกใช้หรือดูแลเซิร์ฟเวอร์ MySQL ที่ใช้งานจริง เป็นไปได้มากที่บางครั้งอาจทำงานช้าเล็กน้อย และอาจต้องใช้ความพยายามอย่างมากในการหาสาเหตุ เพื่อให้สามารถระบุการสืบค้นที่ทำให้ฐานข้อมูลช้าลงนั้นยากต่อการติดตาม MySQL มีตัวเลือกที่จะช่วยคุณได้ มาพร้อมกับตัวเลือกในการบันทึกข้อความค้นหาที่ช้า วิธีนี้เมื่อคุณพบว่าเซิร์ฟเวอร์ฐานข้อมูลของคุณทำงานช้ากว่าปกติ คุณสามารถเปิดไฟล์บันทึกนี้ในโปรแกรมแก้ไขข้อความและดูว่าการสืบค้นใดทำงานช้า มาดูวิธีตั้งค่ากัน
ขั้นแรกให้เปิดไฟล์การกำหนดค่าของเซิร์ฟเวอร์ MySQL my.cnf . บน Linux ควรอยู่ใน /etc ไดเร็กทอรี. ดูว่าพารามิเตอร์ log-slow-queries ได้ถูกกำหนดไว้แล้ว หากไม่เป็นเช่นนั้น ให้ตั้งค่าดังนี้:
log-slow-queries =/var/log/mysql/mysql-slow.log
คุณต้องกำหนดระยะเวลาก่อนจึงจะถือว่าการสืบค้นเป็น การสืบค้นที่ช้า . บนเซิร์ฟเวอร์ของฉัน ฉันได้ตั้งค่าไว้ที่ 30 วินาที ดังนี้:
long_query_time =30
รีสตาร์ทเซิร์ฟเวอร์ MySQL แล้วดู mysql-slow.log ไฟล์. เมื่อใดก็ตามที่การสืบค้นใช้เวลานานกว่า 30 วินาที หรืออะไรก็ตามที่คุณตั้งไว้ใน my.cnf แบบสอบถามจะถูกบันทึกไว้ใน mysql-slow.log ตอนนี้การดีบักการสืบค้น MySQL น่าจะง่ายและเร็วกว่ามากสำหรับคุณ อย่าลืมตรวจสอบไฟล์นี้เป็นครั้งคราว สิ่งที่อาจช่วยได้คือการตั้งค่างาน cron เพื่อส่งไฟล์นี้ให้คุณทางไปรษณีย์ทุกๆ สองสามวัน