จากสคริปต์ฉันส่งแบบสอบถามเช่นนี้หลายพันครั้งไปยังฐานข้อมูลท้องถิ่นของฉัน:
update some_table set some_column = some_value
ฉันลืมที่จะเพิ่มส่วนไหนดังนั้นคอลัมน์เดียวกันถูกตั้งค่าเป็นค่าเดียวกันสำหรับทุกแถวในตารางและทำได้หลายพันครั้งและคอลัมน์ถูกทำดัชนีดังนั้นดัชนีที่สอดคล้องกันอาจถูกปรับปรุงหลายครั้งเกินไป .
ฉันสังเกตเห็นสิ่งผิดปกติเพราะใช้เวลานานเกินไปดังนั้นฉันจึงฆ่าสคริปต์ ฉันรีบูตเครื่องคอมพิวเตอร์ของฉันตั้งแต่นั้นมา แต่มีบางอย่างติดอยู่ในตารางเนื่องจากข้อความค้นหาง่าย ๆ ใช้เวลานานมากในการรันและเมื่อฉันลองวางดัชนีที่เกี่ยวข้องมันล้มเหลวด้วยข้อความนี้:
Lock wait timeout exceeded; try restarting transaction
มันเป็นตาราง innodb ดังนั้นการทำธุรกรรมที่ติดอยู่อาจเป็นนัย ฉันจะแก้ไขตารางนี้และลบธุรกรรมที่ค้างอยู่ออกจากมันได้อย่างไร
SHOW FULL PROCESSLIST
?