数据库死锁问题排查过程会遇到哪些问题?
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-03
-
binlog存放的内容是什么
Binlog(Binary Log)是MySQL中记录数据库中所有DDl语句DML语句的二进制日志文件,主要用于记录对数据库执行的更改操作(例如INSERT、UPDATE、DELETE等)。
NEW个对象 2024-10-13
-
SQL基础知识
SQL基础知识
NEW个对象 2025-01-13