MySQL锁等待分析【2】
MySQL锁等待分析【1】中对锁等待的分析是一步一步来的、虽然最后是分析出来了,可是用时是比较长的;理清各个表之间的关系后,得到如下SQL语句,方便以后使用
select
block_trx.trx_mysql_thread_id as blocking_session_id, -- 已经持有锁的session ID
request_trx.trx_mysql_thread_id as request_session_id, -- 正在申请锁的session ID
block_trx.trx_query as blocking_sql_text, -- 已经持有锁的SQL语句
request_trx.trx_query as requesting_sql_text, -- 正在申请锁的SQL语句
waits.blocking_trx_id as blocking_trx_id, -- 已经持有锁的事务ID
waits.requesting_trx_id as requesting_trx_id, -- 正在申请锁的事务ID
waits.requested_lock_id as requested_lock_id, -- 锁对象的ID
locks.lock_table as lock_table, -- 锁对象所锁定的表
locks.lock_type as lock_type, -- 锁类型
locks.lock_mode as lock_mode -- 锁模式
from information_schema.innodb_lock_waits as waits
inner join information_schema.innodb_trx as block_trx
on waits.blocking_trx_id=block_trx.trx_id
inner join information_schema.innodb_trx as request_trx
on waits.requesting_trx_id=request_trx.trx_id
inner join information_schema.innodb_locks as locks
on waits.requested_lock_id=locks.lock_id;
+---------------------+--------------------+-------------------+-----------------------------------+-----------------+-------------------+-------------------+--------------+-----------+-----------+
| blocking_session_id | request_session_id | blocking_sql_text | requesting_sql_text | blocking_trx_id | requesting_trx_id | requested_lock_id | lock_table | lock_type | lock_mode |
+---------------------+--------------------+-------------------+-----------------------------------+-----------------+-------------------+-------------------+--------------+-----------+-----------+
| | | NULL | select * from tempdb.t for update | | | ::: | `tempdb`.`t` | RECORD | X |
| | | NULL | insert into t(x) values() | | | ::: | `tempdb`.`t` | RECORD | X |
+---------------------+--------------------+-------------------+-----------------------------------+-----------------+-------------------+-------------------+--------------+-----------+-----------+
MySQL锁等待分析【2】的更多相关文章
- MySQL锁等待分析【1】
场景: 昨天业务系统上遇到了数据库慢的问题(对dcsdba.og_file_audit表的insert 慢&超时).分析后定位到是由于锁等待造成的.分析过程如下: 1.执行show proce ...
- MySQL锁等待与死锁问题分析
前言: 在 MySQL 运维过程中,锁等待和死锁问题是令各位 DBA 及开发同学非常头痛的事.出现此类问题会造成业务回滚.卡顿等故障,特别是业务繁忙的系统,出现死锁问题后影响会更严重.本篇文章我们一起 ...
- MySQL - 锁等待超时与information_schema的三个表
引用地址:https://blog.csdn.net/J080624/article/details/80596958 回顾一下生产中的一次MySQL异常,Cause: java.sql.SQLExc ...
- MYSQL 锁机制 分析
MySQL的表级锁有两种模式:表共享读锁(Table Read Lock)和表独占写锁(Table WriteLock).MyISAM在执行查询语句(SELECT)前,会自动给涉及的所有表加读锁,在执 ...
- 查询MySQL锁等待的语句
select 'Blocker' role, p.id, p.user, left(p.host, locate(':', p.host) - 1) host, tx.trx_ ...
- Mysql错误: ERROR 1205: Lock wait timeout exceeded解决办法(MySQL锁表、事物锁表的处理方法)
Java执行一个SQL查询未提交,遇到1205错误. java.lang.Exception: ### Error updating database. Cause: java.sql.SQLExc ...
- mysql InnoDB锁等待的查看及分析
说明:前面已经了解了InnoDB关于在出现锁等待的时候,会根据参数innodb_lock_wait_timeout的配置,判断是否需要进行timeout的操作,本文档介绍在出现锁等待时候的查看及分析处 ...
- MySQL事务锁等待超时 Lock wait timeout exceeded; try restarting transaction
工作中处理定时任务分发消息时出现的问题,在查找并解决问题的时候,将相关的问题博客收集整理,在此记录下,以便之后再遇到相同的问题,方便查阅. 问题场景 问题出现的场景: 在消息队列处理消息时,同一事务内 ...
- MySQL性能调优——锁定机制与锁优化分析
针对多线程的并发访问,任何一个数据库都有其锁定机制,它的优劣直接关系着数据的一致完整性与数据库系统的高并发处理性能.锁定机制也因此成了各种数据库的核心技术之一.不同数据库存储引擎的锁定机制是不同的,本 ...
随机推荐
- .net performance
http://msdn.microsoft.com/en-us/library/ms173196.aspx http://www.zhihu.com/question/20314377 http:// ...
- PCB的阻抗控制
多层板的结构: 通常我们所说的多层板是由芯板和半固化片互相层叠压合而成的,芯板是一种硬质的.有特定厚度的.两面包铜的板材,是构成印制板的基础材料.而半固化片构成所谓的浸润层,起到粘合芯板的作用,虽然也 ...
- 使用activeMQ实现jms
一:jms介绍 jms说白了就是java message service,是J2EE规范的一部分,跟jdbc差不多,sun只提供了接口,由各个厂商(provider)来进行具体的实现, ...
- 二叉查找树:Python实现
#coding:utf8 #author:HaxtraZ class BST(object): """二叉查找树的简单实现""" def _ ...
- Java---设计模块(值对象)
★ 场景和问题 在Java开发时,需要来回交换大量的数据,比如要为方法传入参数,也要获取方法的返回值,该如何能更好的进行数据的交互? ★ 基本的编写步骤 ◎第1步:写一个类,实现可序列化(如果以后数据 ...
- spark1.1.0部署standalone分布式集群
配置三个节点的spark集群,集群模式为standalone模式,其中sp1节点作为主节点,sp2节点和sp3节点为从节点.***注意所有操作均为root用户. 创建3个CentOS虚拟机,如下: s ...
- [Qt] IP地址输入框实现
封装了一个ip地址的输入框.网络上下载了份代码,找不到哪里的了.经过修改之后,尽力让它的行为和windows的IP地址输入框的行为看起来像些.代码如下: //ipaddredit.h #ifndef ...
- Java_io体系之PipedWriter、PipedReader简介、走进源码及示例——14
Java_io体系之PipedWriter.PipedReader简介.走进源码及示例——14 ——管道字符输出流.必须建立在管道输入流之上.所以先介绍管道字符输出流.可以先看示例或者总结.总结写的有 ...
- 获取WebView加载HTML时网页中的内容
main.xml如下: [html] view plaincopy <RelativeLayout xmlns:android="http://schemas.android.com/ ...
- DLNA介绍(包含UPnP,2011/6/20 更新)
这部分的内容大多来源于网络及官方文档,依照自己的翻译理解整理所成.东西比較多,从头慢慢看还是能够懂个大概的. 文件夹: 一.DNLA的建立 二.DLNA的成员 三.DLNA标准的制定 四.DLNA的设 ...