MySQL,索引和“超过锁定等待超时”

时间:2010-12-16 21:55:46

标签: mysql indexing

今天我一直在研究一些MySQL性能问题。我使用EXPLAIN查找表扫描并通过创建索引修复了一些问题。

我的阅读因为超快。

但从那时起,更新查询就会出现问题。当我重新启动Mysql时,前几个插入或更新工作正常。之后,更新查询在60秒后开始显示错误“超出锁定等待超时;尝试重新启动事务”。

Mysql是否在每次插入/更新时都重新创建了大型索引?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

是的,MySQL会在每次更新时重新创建索引。你需要找到最佳位置。仅将索引放在将在WHERE条件(或加入ON条件)上使用的键上。

如果您为所有内容编制索引,则更新速度会太慢。如果你没有索引,你的读数会太慢。

如果在将索引缩小到您所需的范围后仍然存在性能问题,则应该重新评估数据结构。