เมื่อพบกับ Lock wait timeout exceeded; try restarting transaction เขียนเมื่อ 2011.06.03 โดย

ในตารางข้อมูล INNODB แม้ว่าจะมี Lock level ระดับ ระเบียน (Row) แล้วก็ตามแต่ในตารางที่มีประมาณข้อมูลจำนวนมากๆ และมีการแก้ไขข้อมูล (เขียน/แก้ไข) ความถี่สูง ในการจัดการบางคำสั่งอาจจะพบปัญหา
#1205 - Lock wait timeout exceeded; try restarting transaction

ซึ่งหมายถึงมีการรอการว่างของระเบียนที่มีผลต่อคำสั่งเกินระยะเวลาที่กำหนด เราสามารถแก้ไขปัญหานี้ได้โดยการเพิ่มช่วงเวลานั้นเข้าไป โดยการแก้ไขที่ my.cnf
innodb_lock_wait_timeout = 500

เป็นการตั้งค่า engine parameter ให้ INNODB มีระยะเวลาการรอระเบียนว่าง โดยค่าจะมีหน่วยเป็นวินาที



คำเตือนคำเตือน เนื้อหาต่างๆ ในบทความ รวมถึงรูปภาพทั้งหมดในบทความนี้ เป็นความเห็นส่วนตัวของผู้เขียนแต่ละคน ซึ่งแต่ละคนได้ทำการลงทะเบียน และเขียนบทความลงใน Modoeye Articles นี้โดยไม่มีค่าธรรมเนียมใดๆ บทความเหล่านี้เป้าหมายเพื่อการศึกษา และความบันเทิงเท่านั้น การนำส่วนหนึ่งส่วนใดของบทความไปใช้งาน ควรทำการอ้างอิงถึงผู้เขียนและแหล่งที่มาด้วย