d9k*_*d9k 5 mysql innodb transactions mariadb database-deadlocks
例子:
START TRANSACTION;
UPDATE books SET printedCount=1000 WHERE id=5;
Run Code Online (Sandbox Code Playgroud)
如何找到表的哪些行books被打开的事务(或这些行的 id、主键)锁定?我想跟踪此信息以防止高负载 Web 应用程序中出现死锁,如果可能受这些查询影响的行已被锁定,则可能会延迟某些更新查询。
Mar*_*lff 11
从 MySQL 8.0.1 开始,这在 Performance_schema 中进行了检测:
SELECT * from performance_schema.data_locks;
Run Code Online (Sandbox Code Playgroud)
请参阅 https://dev.mysql.com/doc/refman/8.0/en/data-locks-table.html