执行大量设备的事务时,发生死锁错误。我正在使用MySQL。大量设备将同时访问数据库。这会导致错误代码1205。
任何建议...... ??
答案 0 :(得分:1)
消息:超过锁定等待超时; 尝试重新启动交易
这就说明了一切。另一个问题是如何找出造成超时的原因 - 但这几乎无法用给定的信息来判断。你必须提供一些数字(多少是“一个巨大的数字”;你的交易中执行多少(和哪些)语句)以及有关你的表结构的一些信息。
如果无法再加速您的交易,您可以编辑my.cnf
并增加超时(innodb_lock_wait_timeout
),或者,如果您想要增加此交易的超时,请致电SET innodb_lock_wait_timeout = 120;
开始之前。
答案 1 :(得分:1)
以下是您可以开始的几个地方:
http://www.serveradminblog.com/2011/03/tuning-mysql-performance-howto-part-1/
http://dev.mysql.com/doc/refman/5.5/en/execution-plan-information.html
你的问题无可救药。你需要做一些功课,并得到一些事实。这很辛苦 - 但这绝对是必要的。
... IMHO