我有几个(>30) MySQL客户机并发插入到InnoDB表中。我一直遇到锁等待超时,不知道原因。情况如下:
每个客户端重复运行以下事务:
Start transaction
Insert one row into table A
for i = 1 to 22
Do some time-consuming calculation (30 sec)
Insert results into table B
end
Commit transaction当插入表A时,锁等待超时会发生。表B的主键与表A的主键由另一个字段增强时相同。表B在表A中有一个外键。
任何地方都没有选择。不插入两次行。事务隔离级别为REPEATABLE_READ。
显示引擎INNODB状态显示为一些活动事务的36行级别锁。
我不明白为什么会有锁。有人能告诉我发生了什么事吗?
发布于 2014-09-24 18:45:23
MySQL占用了太多的innodb buffer pool大小来锁定表。
将innodb_buffer_pool_size=2g插入到my.cnf文件中,这很可能是在/etc/mysql/中
https://dba.stackexchange.com/questions/31611
复制相似问题