【发布时间】:2015-05-05 17:39:11
【问题描述】:
我们有一个在早上 5:15 运行的脚本,它从 36 个远程站点检索数据。每个站点运行一个单独的脚本实例,因此所有 36 个站点同时运行。数据范围从 400K 到 1MB。
当数据来自远程站点时,脚本会尝试删除 MySQL 数据库中相同日期和站点 ID 的行,然后插入新数据。我们经常收到此错误:
超过锁定等待超时;尝试重启事务mysql
当它试图删除旧行时。有时脚本只是停止响应而没有错误消息。
该错误是否意味着由于表被锁定而无法删除或插入数据?
我们如何解决这个问题?
有没有办法让删除/插入 SQL 排队等待表解锁?
我们还有许多其他脚本可以插入来自所有 36 个站点的数据,但我们只有 2 个脚本出现此错误。这两个脚本碰巧带回的数据比任何其他脚本都多。
【问题讨论】: