mysql锁分析相关的几个系统视图
1、infomation_schema.innodb_lock_waits
+-------------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+-------------+------+-----+---------+-------+
| requesting_trx_id | varchar(18) | NO | | | | #请求锁的事务id
| requested_lock_id | varchar(81) | NO | | | | #请求锁的id
| blocking_trx_id | varchar(18) | NO | | | | #拥有锁的事务id
| blocking_lock_id | varchar(81) | NO | | | | #拥有锁的id
+-------------------+-------------+------+-----+---------+-------+
2、information_schema.innodb_trx
+----------------------------+---------------------+------+-----+---------------------+-------+
| Field | Type | Null | Key | Default |Extra |
+----------------------------+---------------------+------+-----+---------------------+-------+
| trx_id | varchar(18) | NO | | | | # 事务id
| trx_state | varchar(13) | NO | | | | # 事务的执行状态
| trx_started | datetime | NO | | 0000-00-00 00:00:00 | | # 事务开始的时间
| trx_requested_lock_id | varchar(81) | YES | | NULL | | # 事务正等待的锁id
| trx_wait_started | datetime | YES | | NULL | | # 事务等待锁开始的时间
| trx_weight | bigint(21) unsigned | NO | | 0 | | # 事务权重,主要反映事物修改和锁定的行数
| trx_mysql_thread_id | bigint(21) unsigned | NO | | 0 | | # 事务相应线程的id
| trx_query | varchar(1024) | YES | | NULL | | # 事务SQL语句
| trx_operation_state | varchar(64) | YES | | NULL | | # 事务的目前操作
| trx_tables_in_use | bigint(21) unsigned | NO | | 0 | | # 事务处理当前SQL所用的表数
| trx_tables_locked | bigint(21) unsigned | NO | | 0 | | # 事务当前SQL拥有行锁的表数
| trx_lock_structs | bigint(21) unsigned | NO | | 0 | | # 事物保留的锁数
| trx_lock_memory_bytes | bigint(21) unsigned | NO | | 0 | | # 事务锁结构所占内存大小
| trx_rows_locked | bigint(21) unsigned | NO | | 0 | | # 事务锁住的近似行数
| trx_rows_modified | bigint(21) unsigned | NO | | 0 | | # 事务修改和插入的行数
| trx_concurrency_tickets | bigint(21) unsigned | NO | | 0 | | # 指示当前事务被交换出之前需处理工作量的数值
| trx_isolation_level | varchar(16) | NO | | | | # 当前事务的隔离等级
| trx_unique_checks | int(1) | NO | | 0 | | # 唯一检查对当前事务是否开启
| trx_foreign_key_checks | int(1) | NO | | 0 | | # 外键检查对当前事务是否开启
| trx_last_foreign_key_error | varchar(256) | YES | | NULL | | # 最近外键报错的详细信息
| trx_adaptive_hash_latched | int(1) | NO | | 0 | | # 当前事务是否锁定自适应哈希索引
| trx_adaptive_hash_timeout | bigint(21) unsigned | NO | | 0 | | # 指示当前事务是否放弃或保留搜索自适应索引的数值,为0时,则立即放弃
| trx_is_read_only | int(1) | NO | | 0 | | # 当前事务是否只读,1为只读
| trx_autocommit_non_locking | int(1) | NO | | 0 | | # 指示当前事务是否为非锁定自动提交
+----------------------------+---------------------+------+-----+---------------------+-------+
3、information_schema.innodb_locks
+-------------+---------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+---------------------+------+-----+---------+-------+
| lock_id | varchar(81) | NO | | | | # 锁id
| lock_trx_id | varchar(18) | NO | | | | # 拥有锁的事务id
| lock_mode | varchar(32) | NO | | | | # 锁模式
| lock_type | varchar(32) | NO | | | | # 锁类型
| lock_table | varchar(1024) | NO | | | | # 被锁的表
| lock_index | varchar(1024) | YES | | NULL | | # 被锁的索引
| lock_space | bigint(21) unsigned | YES | | NULL | | # 被锁的表空间号
| lock_page | bigint(21) unsigned | YES | | NULL | | # 被锁的页号
| lock_rec | bigint(21) unsigned | YES | | NULL | | # 被锁的记录号
| lock_data | varchar(8192) | YES | | NULL | | # 被锁的数据
+-------------+---------------------+------+-----+---------+-------+
4、information_schema.processlist
+---------+---------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+---------------------+------+-----+---------+-------+
| ID | bigint(21) unsigned | NO | | 0 | | # 连接线程的id
| USER | varchar(32) | NO | | | | # 登录mysql的user
| HOST | varchar(64) | NO | | | | # 登录mysql的主机名或地址:端口
| DB | varchar(64) | YES | | NULL | | # 登录mysql的数据库名
| COMMAND | varchar(16) | NO | | | | # 连接线程当前运行命令的类型
| TIME | int(7) | NO | | 0 | | # 连接线程处于当前状态的秒数
| STATE | varchar(64) | YES | | NULL | | # 连接线程当前所处的状态
| INFO | longtext | YES | | NULL | | # 连接线程当前正执行的语句
+---------+---------------------+------+-----+---------+-------+
mysql锁分析相关的几个系统视图的更多相关文章
- mysql锁表机制及相关优化
(该文章为方便自己查阅,也希望对大家有所帮助,转载于互联网) 1. 锁机制 当前MySQL支持 ISAM, MyISAM, MEMORY (HEAP) 类型表的表级锁,BDB 表支持页级锁,InnoD ...
- MySQL · 特性分析 · innodb 锁分裂继承与迁移
http://mysql.taobao.org/monthly/2016/06/01/ innodb行锁简介 行锁类型 LOCK_S:共享锁 LOCK_X: 排他锁 GAP类型 LOCK_GAP:只锁 ...
- MySQL锁等待分析【2】
MySQL锁等待分析[1]中对锁等待的分析是一步一步来的.虽然最后是分析出来了,可是用时是比较长的:理清各个表之间的关系后,得到如下SQL语句,方便以后使用 select block_trx.trx_ ...
- 转载:把你的精力专注在java,jvm原理,spring原理,mysql锁,事务,多线程,大并发,分布式架构,微服务,以及相关的项目管理等等,这样你的核心竞争力才会越来越高
https://developer.51cto.com/art/202001/608984.htm 把你的精力专注在java,jvm原理,spring原理,mysql锁,事务,多线程,大并发,分布式架 ...
- mysql锁机制总结
1.隔离级别 (1)读不提交(Read Uncommited,RU) 这种隔离级别下,事务间完全不隔离,会产生脏读,可以读取未提交的记录,实际情况下不会使用. (2)读提交(Read commited ...
- mysql锁
锁是计算机协调多个进程或线程并发访问某一资源的机制.在数据库中,除传统的计算资源(如CPU.RAM.I/O等)的争用以外,数据也是一种供许多用户共享的资源.如何保证数据并发访问的一致性.有效性是所有数 ...
- Mysql锁原理浅谈
锁类型/引擎 行锁 表锁 页锁 MyISAM 有 InnoDB 有 有 BDB(被InnoDB取代) 有 有 锁的分类 表锁:开销小,加锁快,不会死锁,粒度大,冲突率高,并发低. 行锁:开销大,加锁慢 ...
- MySQL性能分析(转)
第一步:检查系统的状态 通过操作系统的一些工具检查系统的状态,比如CPU.内存.交换.磁盘的利用率.IO.网络,根据经验或与系统正常时的状态相比对,有时系统表面上看起来看空闲,这也可能不是一个正常的状 ...
- MySQL锁(行锁、表锁、页锁、乐观锁、悲观锁等)
锁,在现实生活中是为我们想要隐藏于外界所使用的一种工具.在计算机中,是协调多个进程或县城并发访问某一资源的一种机制.在数据库当中,除了传统的计算资源(CPU.RAM.I/O等等)的争用之外,数据也是一 ...
随机推荐
- urlconnection代码
package com.yucheng.connection; import java.io.BufferedReader; import java.io.InputStream; import ja ...
- Goland开发工具安装教程
开发工具: 文本类的编辑器:记事本,notepad,sublime text,atom... 通过命令执行程序 IED:集成开发环境(integrated development environmen ...
- ceph rbd双挂载导致ext4文件系统inode链接数据污染
转载自:https://my.oschina.net/xueyi28/blog/1596003 ###故障现象 /data/rbd1/dir1/a/file1 /data/rbd1/dir2/a/fi ...
- python class继承
https://blog.csdn.net/brucewong0516/article/details/79121179 类继承: class SubClassName(parentClass,[,p ...
- js中的排序方法
一.冒泡排序 var arr=[22,1,33,19,77]; function bubbleSort(arr){ for(var i=0;i<arr.length-1;i++){ for( ...
- Delphi的TService 服务路径获取 Dll中获取文件路径
研究delphi服务的路径,试了好几个方法 ,都没取出来,最后发现,要采用取DLL路径的方法 //一.获取Dll自身路径 //1)方法一: Function GetDllPath(sDllName:s ...
- 原生JS动态添加和删除类
原生JS动态添加和删除类 由于需要, 给按钮组监听点击事件(要求用事件委托),当有一个按钮被点击时,相应的给该按钮添加一个类(激活类),其他没有点击的按钮就要移出该类 添加和和删除类有三种方法 首先等 ...
- Spring发送邮件
Spring邮件发送流程:第一步:邮件发送,需要一个邮件服务器.可以使用腾讯获得网易的邮件服务器.登录邮箱,点击左上角的设置,再点击账号 找到下列选项,点击开启,需要发短信验证,或者使用QQ安全登录扫 ...
- Mysql与Postgresql
在经过一段时间的数据库学习之后,我接触到了Mysql与Postgresql两种数据库管理系统,由于我对这两者的理解都停留在很浅的层面,就不在此比较两者的好坏,主要在这里比较一下两者的入门指令(当然两者 ...
- threadpool源码学习
threadpool源码学习 __all__ = [ 'makeRequests', 'NoResultsPending', 'NoWorkersAvailable', 'ThreadPool', ' ...