查看表是否被锁:直接在MySQL命令行执行:show engine innodb statusG 。
查看造成死锁的sql语句,分析索引情况,然后优化sql.
然后show processlist,查看造成死锁占用时间长的sql语句 。
show status like ‘%lock% 。
文章插图
查看表被锁状态和结束死锁步骤:
1.查看表被锁状态
【mysql查看表是否被锁】show OPEN TABLES where In_use > 0; 这个语句记录当前锁表状态
2.查询进程
show processlist 查询表被锁进程
查询到相应进程kill id
3.分析锁表的SQL
分析相应SQL,给表加索引,常用字段加索引,表关联字段加索引
查看正在锁的事物:
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS.
查看等待锁的事物:
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS.
推荐阅读
- mysql分片分区分库分表
- mysql如何处理高并发
- MySQL核心:索引结构原理
- MySQL全局锁表锁&行锁
- 详解Oracle与Mysql在主键、索引、分页、组函数和单引号的区别
- 电脑出厂日期怎么查
- 梦见一只纯白色的黄鼠狼 周公解梦大全查询梦见白色黄鼠狼
- 怎么查搬家吉祥日水日 搬家日最好选水日吗,为什么
- 开业吉日2021年12月份黄道吉日查询 2020年11月几号适合开业大吉?
- 做一次CT对人的影响有多大?