MySQL找出锁等待
SELECT r.trx_id AS waiting_trx_id, r.trx_mysql_thread_id AS waiting_thread, TIMESTAMPDIFF(SECOND, r.trx_wait_started, CURRENT_TIMESTAMP) AS wait_time, r.trx_query AS waiting_query, l.lock_table AS waiting_table_lock, b.trx_id AS blocking_trx_id, b.trx_mysql_thread_id AS blocking_thread, SUBSTRING(p.host,1,INSTR(p.host, ':') -1 ) AS blocking_host, SUBSTRING(p.host, INSTR(p.host, ':') +1 ) AS block_port, IF(p.command="Sleep",p.time,0) AS idle_in_trx, b.trx_query AS blcoking_query from information_schema.innodb_lock_waits AS w INNER JOIN information_schema.innodb_trx AS b ON b.trx_id=w.blocking_trx_id INNER JOIN information_schema.innodb_trx AS r ON r.trx_id = w.requesting_trx_id INNER JOIN information_schema.innodb_locks AS l ON w.requested_lock_id = l.lock_id LEFT JOIN information_schema.processlist AS p ON p.id = b.trx_mysql_thread_id ORDER BY wait_time DESC\G
SELECT CONCAT('thread ', b.trx_mysql_thread_id, ' from ',p.host) AS who_blocks, IF (p.command = "Sleep",p.time, 0) AS idle_in_trx, MAX(TIMESTAMPDIFF(SECOND,r.trx_wait_started,NOW())) AS max_wait_time, COUNT(*) AS num_waiters FROM information_schema.innodb_lock_waits as w inner join information_schema.innodb_trx as b on b.trx_id = w.blocking_trx_id inner join information_schema.innodb_trx as r on r.trx_id = w.requesting_trx_id left join information_schema.processlist as p on p.id = b.trx_mysql_thread_id group by who_blocks order by num_waiters desc\G
参考资料
<<高性能mysql第三版>>
转载于:https://www.cnblogs.com/gomysql/p/3608466.html
MySQL找出锁等待相关推荐
- mysql 持有锁 等待锁_MySQL找出锁等待
1.服务器级别的锁等待 可以通过show processlist看到等待锁的线程id,但是无法知道究竟哪个线程持有锁 可以通过mysqladmin debug 相关等待锁的线程以及谁持有锁可以在错误日 ...
- MySQL找出未提交事务的信息
目录 一.processlist中的未提交事务 二.information_schema.innodb_trx中的未提交事务 三.performance_schema.events_statement ...
- mysql找出两个结果集不同数据_如何快速对比MySQL两个不同实例上的数据并找出差异...
在MySQL运维中,研发同事想对比下两个不同实例上的数据并找出差异,除主键外还需要对比每一个字段,如何做呢? 第一种方案,写程序将两个实例上的每一行数据取出来进行对比,理论可行,但是对比时间较长. 第 ...
- MySQL: 找出员工表中最高、第二高、第N高的薪水
假设有如下所示的员工薪水表: 找出表中最高的薪水非常简单,编写下面的SQL即可: SELECT max(Salary) as HighestSalary FROM Employee; 利用查询的嵌套, ...
- mysql找出课程相同的两个学生_day41 mysql 学习 练习题重要
1.查询课程编号"001"比课程编号"002" 成绩高的所有学生的学号**** #把两个表同时放过来(并且都命名一个新的名字)一起查, #1先找出所有包含学科为 ...
- 使用MySQL找出地理围栏中心(重心)的简单方法
需求 把地理围栏信息的中心(重心又或者叫做质心)找出来 注意点 一定要注意,需要第一个点和最后一个点相同,才能形成闭合多边形,这点很重要,不然会报错 > 3037 - Invalid GIS d ...
- 详细介绍MySQL/MariaDB的锁
官方手册:https://dev.mysql.com/doc/refman/5.7/en/innodb-locking-transaction-model.html 1.事务提交的方式 在MariaD ...
- 关于MySQL出现锁等待lock wait timeout exceeded; try restarting transaction 的解决方案
关于MySQL出现lock wait timeout exceeded; try restarting transaction 的解决方案. 一.问题抛出 在做查询语句时,MySQL 抛出了这样的异常 ...
- mysql 查看锁等待
show processlist 等MDL锁 通过查询 sys.schema_table_lock_waits 这张表,我们就可以直接找出造成阻塞的 process id,把这个连接用 kill 命令 ...
最新文章
- C语言网络编程:TCP实现多线程实现多客户端
- mysql开启skip-name-resolve 导致root@127.0.0.1(localhost)访问引发的ERROR 1045 (28000)错误解决方案...
- sinee303a变频器说明书_SINEE--EM303A变频器用户手册.pdf
- 你能活多少岁,就让人工智能来告诉你吧
- 26行代码AC_试题 历届试题 日期问题 | 第八届蓝桥杯B组第七题
- sql 查出一张表中重复的所有记录数据
- ES6的class方法基本用法
- 【转载】使用LR测试Oracle数据库的方法
- DICOM标准(2011)
- 帆软报表(FineReport) 的初步学习和使用
- Spring 的事务传播机制
- 【LaTeX】下载及安装步骤
- 扇贝 Service Mesh 发展历程
- 计算机科学与技术民办大学排名,计算机科学与技术专业排名:这95所大学实力很强,包括公办、民办和中外合办院校...
- 设计模式(十一)策略模式
- 百度运维部农场,绿色畅想
- 什么无线桥接一直正在链接服务器,路由器桥接成功无法从副路由器上网怎么办【解决方法】...
- java itext 生成word文档
- JAVA1.8开发工具使用系列 故障排除之jcmd
- 【Python Web】Flask框架(一)快速开发网站
热门文章
- 完美国际真数苹果_章子怡玩出新花样,雷人造型别有韵味!和小苹果同框犹如亲姐妹...
- 『ACM-算法-图论』算法竞赛进阶指南--hamilton路径(模板)
- python模拟登陆
- Python+Opencv实现实时的条形码检测
- S3C2440 汇编指令
- 如何使用busybox编译和生成最简linux根文件系统(rootfs)
- linux如何实现相关功能源代码
- expecting statement错误的一种情况(phpstorm 8.0.2)
- 救命代码_救命! 如何选择功能?
- verilog赋多位值_verilog赋值