mysql中如何查看表是否被锁

2年前 (2022) 程序员胖胖胖虎阿
165 0 0

如何查看是否发生死锁

在使用mysql的时候,如何查看表是否被锁呢?

查看表被锁状态和结束死锁步骤:

1.在mysql命令行执行sql语句

use dbName;  // 切换到具体数据库
show engine innodb status;  // 查询db是否发生死锁

mysql中如何查看表是否被锁

2.查看数据表被锁状态

show OPEN TABLES where In_use > 0; 

该语句可以查询到当前锁表的状态

3.分析锁表的SQL
通过sql日志,分析相应SQL,给表加索引,常用字段加索引,表关联字段加索引等方式对sql进行优化。

4.查看正在锁的事务

SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;

在5.5中,information_schema 库中增加了三个关于锁的表(innoDB引擎):

innodb_trx ## 当前运行的所有事务
innodb_locks ## 当前出现的锁
innodb_lock_waits ## 锁等待的对应关系
先来看一下这三张表结构:

ro

版权声明:程序员胖胖胖虎阿 发表于 2022年10月3日 下午7:40。
转载请注明:mysql中如何查看表是否被锁 | 胖虎的工具箱-编程导航

相关文章

暂无评论

暂无评论...