我在尝试更新经常读取的表时遇到大量死锁。
deadlocked_table是一个InnoDB表。
我正在运行MySQL 5.1
我把它缩小到两种可能性:
deadlocked_table
上的大量读取导致问题......这些是非锁定选择插入内存表,其中源数据是我的死锁表,即:
insert different_table select * from deadlocking_table where...
在第二种情况下different_table
是一张记忆表。
我认为我的解决方案是将两种情况的隔离级别更改为read uncommitted
,但我想明确知道大量读取或插入内存表是否会导致我的更新声明陷入僵局。