2016-12-16 52 views
0

实例锁定行:MySQL的:如何找到交易

START TRANSACTION; 
UPDATE books SET printedCount=1000 WHERE id=5; 

我怎样才能找到哪个表books行被打开交易锁定(或ID,这些行的主键)?我想跟踪这些信息以防止我的高负载Web应用程序出现死锁,如果可能受这些查询影响的行已被锁定,可能会延迟一些更新查询。

回答

1

SHOW ENGINE INNODB STATUS;

不幸的是,有没有办法赶上所有死锁。相反,定期运行以查看是否存在正在进行的死锁;然后在这种情况下工作。