帮忙么网 > MySQL > 当前页面

数据库死锁问题排查过程会遇到哪些问题?

2024-10-24 NEW个对象

数据库死锁问题排查过程会遇到哪些问题?

1、锁的是那个表

一般会有报警信息,根据报警信息可以获取到sql语句,然后根据sql获取锁的那张表。

2、查看表的索引的建立情况

因为在mysql里执行sql一般会锁住索引,常见的有:主键索引、组合索引

2、数据库的隔离级别

select @@tx_isolation

3、获取死锁日志

show engine innodb status

4、分析SQL的执行计划

通过explain关键词,分析SQL使用了哪些索引

5、在程序里找到执行sql代码

6、修改代码,死锁解决

*尽量不要在一个事务里使用多条SQL修改同一条数据。


造成死锁的原因有很多,不同的场景遇到的问题是不一样的,这里只是简单的梳理一下。

相关文章

推荐文章