数据库死锁问题排查过程会遇到哪些问题?
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修改同一条数据。
造成死锁的原因有很多,不同的场景遇到的问题是不一样的,这里只是简单的梳理一下。
上一篇:Mysql索引有哪几种类型
下一篇:索引下推
相关文章
-
Mysql索引有哪几种类型
Mysql索引有哪几种类型
NEW个对象 2024-10-22
-
SQL基础知识
SQL基础知识
NEW个对象 2025-01-13
-
B树与B+树的区别
B树与B+树的区别
NEW个对象 2024-10-20