zoukankan      html  css  js  c++  java
  • 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 | | # 连接线程当前正执行的语句
    +---------+---------------------+------+-----+---------+-------+

  • 相关阅读:
    操作系统知识
    接下来 的 重点 是 运维
    并行计算 排序 是 分布式数据库 能否 突破 传统 数据库 性能 瓶颈 的 关键
    并行计算 是 趋势
    高并发 分布式 架构 的 几大 基本要素
    堆栈趣话
    虚拟机 操作系统 容器
    Lambda 表达式 是 个 好东东
    update set from 语句用法 delete 多表删除的使用 以及异常:table name "temp_new_tel" specified more than once
    我的面试
  • 原文地址:https://www.cnblogs.com/lhdz_bj/p/10522284.html
Copyright © 2011-2022 走看看