尝试从表中删除行时,我不断收到这些错误。这里的特殊情况是我可能同时运行 5 个进程。
该表本身是一个包含约 450 万行的 Innodb 表。我的 WHERE 子句中使用的列没有索引。其他指数按预期工作。
它是在事务中完成的,首先我删除记录,然后插入替换记录,并且只有在插入所有记录时才提交事务。
错误信息:
查询错误:超过锁定等待超时;在执行 DELETE FROM tablename WHERE column=value 时尝试重新启动事务
在此处的引用列上创建索引会有所帮助吗?我应该明确锁定行吗?
我在问题#64653中找到了一些附加信息,但我认为它不能完全涵盖我的情况。
确定是 DELETE 语句导致了错误,还是查询中的其他语句?DELETE 语句是第一个语句,所以看起来合乎逻辑,但我不确定。