mysql - 存储mysql死锁

标签 mysql innodb deadlock

我想知道是否有一种方法可以在记录到 innodb 中时将导致 mysql 数据库中死锁的每个事务存储在单独的表中?

最佳答案

在 5.5.30 版本中,innodb_print_all_deadlocks 变得可用。将其设置为ON,但请注意,它使用的日志文件(可能是error.log)可能会使磁盘困惑。

减少死锁数量的技术:

  • 加快交易速度。
  • 将 DML 语句移出事务(为什么这样做是可以的)。
  • 如果某些语句中有 INOR(例如DELETEing 几行),则对它们进行排序。

最后一个可能将死锁转变为“locK_wait_timeout”,其中一个事务会默默地停止,直到另一个事务完成。

关于mysql - 存储mysql死锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53191682/

相关文章:

php - 代码点火器 : how to write a query when the inside of the table have value ""

php - 是否可以在 PHP PDO 准备语句中设置 innodb_stats_on_metadata ?

mysql - 在大型 MySQL 表中修剪一列数据的最快方法

mysql - 是否可以优化查询以便不需要运行分析?

asp-classic - 经典 ASP : Can the "Application" global object cause dead lock?

mysql - 选择几个精确值

Mysql 查询使用 where 和 group by 子句

php - 上传图片并添加mysql链接

c# - Winforms调用async方法挂掉程序

mysql - 为什么MySQL会出现这种死锁呢?