结论: blocking_query 是当前堵塞其他会话正在运行的SQL.而不是原始堵塞SQL
查看当前session线程号
mysql> select connection_id();
+-----------------+
| connection_id() |
+-----------------+
| 28 |
+-----------------+
1 row in set (0.02 sec) Session 1: Vsftp:/root# mysql -uroot -p1234567 -e " show processlist"
Warning: Using a password on the command line interface can be insecure.
+----+------+-----------+------+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+-----------+------+---------+------+-------+------------------+
| 17 | root | localhost | zjzc | Sleep | 0 | | NULL | mysql 进程1737
root 1737 979 0 13:02 pts/1 00:00:00 mysql -uroot -px xxxxx mysql> start transaction;
Query OK, 0 rows affected (0.00 sec) mysql> delete from test where id=1;
Query OK, 1 row affected (0.00 sec) Session 2: | 28 | root | localhost | zjzc | Sleep | 2 | | NULL 查看堵塞:
mysql[192.168.11.187] blocking_thread[17] blocking_query[] blocking waiting_thread[28]'s delete from test where id=1 mysql> SELECT
-> r.trx_id waiting_trx_id,
-> r.trx_mysql_thread_id waiting_thread,
-> r.trx_query waiting_query,
-> b.trx_id blocking_trx_id,
-> b.trx_mysql_thread_id blocking_thread,
-> b.trx_query blocking_query
-> FROM
-> information_schema.innodb_lock_waits w
-> INNER JOIN
-> information_schema.innodb_trx b ON b.trx_id = w.blocking_trx_id
-> INNER JOIN
-> information_schema.innodb_trx r ON r.trx_id = w.requesting_trx_id;
+----------------+----------------+-----------------------------+-----------------+-----------------+----------------+
| waiting_trx_id | waiting_thread | waiting_query | blocking_trx_id | blocking_thread | blocking_query |
+----------------+----------------+-----------------------------+-----------------+-----------------+----------------+
| 112076626 | 28 | delete from test where id=1 | 112076625 | 17 | NULL |
+----------------+----------------+-----------------------------+-----------------+-----------------+----------------+
1 row in set (0.00 sec) Session 1:运行
mysql> select * from ClientActionTrack20151125 mysql[192.168.11.187] blocking_thread[17] blocking_query[select * from ClientActionTrack20151125] blocking waiting_thread[28]'s delete from test where id=1 mysql> SELECT r.trx_id waiting_trx_id, r.trx_mysql_thread_id waiting_thread, r.trx_query waiting_query, b.trx_id blocking_trx_id, b.trx_mysql_thread_id blocking_thread, b.trx_query blocking_query FROM information_schema.innodb_lock_waits w INNER JOIN information_schema.innodb_trx b ON b.trx_id = w.blocking_trx_id INNER JOIN information_schema.innodb_trx r ON r.trx_id = w.requesting_trx_id;
+----------------+----------------+-----------------------------+-----------------+-----------------+-----------------------------------------+
| waiting_trx_id | waiting_thread | waiting_query | blocking_trx_id | blocking_thread | blocking_query |
+----------------+----------------+-----------------------------+-----------------+-----------------+-----------------------------------------+
| 112076626 | 28 | delete from test where id=1 | 112076625 | 17 | select * from ClientActionTrack20151125 |
+----------------+----------------+-----------------------------+-----------------+-----------------+-----------------------------------------+
1 row in set (0.39 sec) 结论: blocking_query 是当前堵塞其他会话正在运行的SQL.而不是原始堵塞SQL
结论: blocking_query 是当前堵塞其他会话正在运行的SQL.而不是原始堵塞SQL的更多相关文章
- 关于会话、进程、请求的几个常用SQL
1.检查自己的SID SELECT sid FROM v$session WHERE sid = (SELECT sid FROM v$mystat WHERE rownum = 1); 2. 几个I ...
- EF 不允许启动新事务,因为有其他线程正在该会话中运行。
引起原因:在查询中提交了更改.如在遍历的时候,调用了savechanges(): 解决:把savechange()提到循环外. IOrderedQueryable<TOH ...
- 关于Mongodb的全面总结
MongoDB的内部构造<MongoDB The Definitive Guide> MongoDB的官方文档基本是how to do的介绍,而关于how it worked却少之又少,本 ...
- LoadRunner监控数据库服务器
使用LoadRunner的数据库服务器资源监控器,可以在场景或会话步骤运行期间监控DB2.Oracle.SQL Server或Sybase数据库的资源使用率.在场景或会话步骤运行期间,使用这些监控器可 ...
- JavaWeb实现分页的四种方法
一.借助数组进行分页 原理:进行数据库查询操作时,获取到数据库中所有满足条件的记录,保存在应用的临时数组中,再通过List的subList方法,获取到满足条件的所有记录. 实现: 首先在dao层,创建 ...
- MySQL数据库(六)-- SQL注入攻击、视图、事物、存储过程、流程控制
一.SQL注入攻击 1.什么是SQL注入攻击 一些了解sql语法的用户,可以输入一些关键字 或合法sql,来导致原始的sql逻辑发生变化,从而跳过登录验证 或者 删除数据库 import pymysq ...
- 10-MySQlL DBA笔记-基础知识
第四部分 运维篇 首先来了解一下数据库的定义,数据库是高效的.可靠的.易用的.安全的多用户存储引擎,我们可以通过它访问大量的持久化数据.我们管理和维护数据库,本质上也是要确保如上的特性,尽可能地保证数 ...
- MySQL数据库(六) —— SQL注入攻击、视图、事物、存储过程、流程控制
SQL注入攻击.视图.事物.存储过程.流程控制 一.SQL注入攻击 1.什么是SQL注入攻击 import pymysql conn = pymysql.Connect( user="roo ...
- (转)Db2 数据库常见堵塞问题分析和处理
原文:https://www.ibm.com/developerworks/cn/analytics/library/ba-lo-db2-common-blocking-problem-analyze ...
随机推荐
- 移动端和PC端通用的三级导航菜单栏
免责声明: 本博客发布的所有信息资料都将尽可能注明出处.作者及日期,本人无意侵犯他人相关权益,如无意中侵犯了哪个媒体或个人的权益或知识产权,请留言或来信告之,本人将立即给予删除. Demo下载地址:h ...
- order by跟group by 跟having(2)
- C# DataTable转List And List转DataTable
// DataTable转List: IList<HousesEntity> Ilist = TableAndList.ConvertTo<HousesEntity>(dt); ...
- 设置repeater每行多少个的方法
前台代码: <asp:ScriptManagerProxy ID="ScriptManagerProxy1" runat="server">< ...
- Oracle中用一张表的字段更新另一张表的字段
今天在做项目的过程中,发现开发库中某张表的某字段有许多值是空的,而测试库中该字段的值则是有的. 那么,有什么办法能将测试库中该字段的值更新到开发库中呢? SQL Server中这是比较容易解决的,而O ...
- 将表单数据转化为json数据
/** * 将Form表单转成符合后台要求的json格式数据 * @param frm form表单Id * * @return json格式的数据 */function getFormJson(fr ...
- Bzoj 2431 HAOI2009 逆序对数列
Description 对于一个数列{ai},如果有i**<**j且ai>aj,那么我们称ai与aj为一对逆序对数.若对于任意一个由1~n自然数组成的数列,可以很容易求出有多少个逆序对数. ...
- C#使用Json
AJAX传递复杂数据如果自己进行格式定义的话会经历组装.解析的过程,因此AJAX中有一个事实上的数据传输标准JSon. Json将复杂对象序列化为一个字符串,在浏览器端再将字符串反序列化为JavaSc ...
- notepad++插件使用说明
在进行渗透测试的过程中,经常需要分析一些js或xml文件,或者是一些url,它们多是经过压缩或编码的,看起来不方便.这里介绍几款常用的notepad++插件,会极大的方便我们的开发测试. 1 Xml ...
- jquery 去掉重复项(splice,apply,push)
/* js数组去掉重复项 var somearray = [1,1,2,2,3,3,4,4,'1']; somearray.check(); //somearray will return arr=[ ...