与大量设备执行事务时,发生死锁错误。我正在使用 MySQL。大量设备将同时访问数据库。这会导致错误代码 1205。
有什么建议……??
从文档:
消息:超过锁定等待超时;尝试重启事务
这说明了一切。另一个问题是如何找出导致超时的原因——但这几乎不可能用给定的信息来判断。您必须提供一些数字(“一个巨大的数字”是多少;在您的事务中执行了多少(以及哪些)语句)以及有关您所涉及的表结构的一些信息。
如果没有办法再加快您的事务,您可以编辑您的my.cnf
并增加超时 ( innodb_lock_wait_timeout
),或者,如果您只想增加此事务的超时,请SET innodb_lock_wait_timeout = 120;
在开始之前调用。
您可以从以下几个地方开始:
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
你的问题非常广泛。你需要做一些功课,并了解一些事实。这是一项艰苦的工作——但这是绝对必要的。
恕我直言...