ตั้งค่า“ หมดเวลาล็อครอ” ใน MySQL


13

ฉันจะตั้งค่าเวลาสูงสุดที่แบบสอบถามจะรอการล็อกใน MySQL 5.0.68 ก่อนที่จะหมดเวลาได้อย่างไร

คำตอบ:


6

การตั้งค่าการหมดเวลาอื่น ๆ ที่เป็นแบบทั่วไป (ไม่ใช่เฉพาะสำหรับการล็อกเนื่องจาก innodb_lock_wait_timeout จะใช้กับการล็อกแถว InnoDB เท่านั้น) จะเป็นwait_timeoutและinteractive_timeout (ทั้งค่าเริ่มต้นเป็น 28,800)



1

หากคุณใช้งาน InnoDB หมดเวลา 50 วินาทีคุณมีแอปพลิเคชั่นที่ออกแบบมาไม่ดี!

การหมดเวลานั้นมีอยู่เพื่อจับสิ่งซนที่ไม่สามารถจับได้ด้วยวิธีอื่น


1
หรือเนื่องจากข้อผิดพลาดฉันมีเซิร์ฟเวอร์ mysql และ mariadb ที่ยุ่งมากและการหยุดชะงักเป็นสิ่งปกติที่เกิดขึ้นตลอดเวลา แม้ว่า "เป็นไปไม่ได้" หากคุณมีหนึ่งร้อยล้านแถวและหมื่นคำสั่ง sql ทุกวินาทีคุณจะพบข้อผิดพลาดทุกประเภทใน mysql (ล่ม) รวมถึงการหยุดชะงักของประเภทต่างๆ
John

1
มันขึ้นอยู่กับสถานการณ์ จาก mysql docs: คุณอาจลดค่านี้สำหรับแอปพลิเคชันที่มีการโต้ตอบสูงหรือระบบ OLTP เพื่อแสดงความคิดเห็นของผู้ใช้อย่างรวดเร็วหรืออัปเดตลงในคิวเพื่อประมวลผลในภายหลัง คุณอาจเพิ่มค่านี้สำหรับการดำเนินการแบ็คเอนด์ที่ใช้เวลานานเช่นขั้นตอนการแปลงในคลังข้อมูลที่รอการแทรกขนาดใหญ่อื่น ๆ หรือการอัปเดตการดำเนินการให้เสร็จสิ้น
g4b0

กำลังตรวจสอบแอปพลิเคชันที่สร้างขึ้นไม่ดี ... อ๋อ!
โนอาห์ดันแคน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.