首页 > 项目 > 当前页面

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

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修改同一条数据。


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

相关文章

  • 分布式ID生成器有哪些?

    在分布式系统中,传统数据库自增ID已经无法满足高并发、多节点、多数据中心的业务需求。随着微服务架构的普及,系统需要一种全局唯一、趋势递增、高性能的ID生成方案。在分布式系统中,传统数据库自增ID已经无法满足高并发、多节点、多数据中心的业务需求。随着微服务架构的普及,系统需要一种全局唯一、趋势递增、高性能的ID生成方案。

    NEW个对象 2026-06-08

  • Docker 常用命令大全(2025 最新版)—— 面试必备 + 企业开发实战指南

    Docker 常用命令大全(2025 最新版)—— 面试必备 + 企业开发实战指南

    NEW个对象 2026-06-17

  • 再次理解:事务传播机制

    父事务和子事务,在事务方法里调用了其它事务的方法,子事务如何执行: 1、父方法有事务。 2、父方法没有事务。 子方法事务该如何执行,有几种情况,根据这些情况,设置了七种传播基本。

    NEW个对象 2025-03-06

NEW个对象 NEW个对象
JAVA是世界上最好的语言