zoukankan      html  css  js  c++  java
  • Mysql之锁(二)

    1、查看锁

    SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX; -- 记录当前运行的事务
    
    SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS; -- 记录当前出现的锁
    
    SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS; -- 记录锁等待的对应关系
    

    2、INNODB_TRX表字段:

    • trx_id:InnoDB存储引擎内部唯一的事物ID
    • trx_status:当前事务的状态, RUNNING, LOCK WAIT, ROLLING BACK or COMMITTING.
    • trx_status:事务的开始时间
    • trx_requested_lock_id:事务等待的锁的ID(如果事务状态不是LOCK WAIT,这个字段是NULL),详细的锁的信息可以连查INNODB_LOCKS表
    • trx_wait_started:事务等待的开始时间
    • trx_weight:事务的权重,反应一个事务修改和锁定的行数,当发现死锁需要回滚时,权重越小的值被回滚
    • trx_mysql_thread_id:MySQL中的进程ID,与show processlist中的ID值相对应
    • trx_query:事务运行的SQL语句
    • trx_operation_state:事务当操作的类型 如updating or deleting,starting index read等
    • trx_tables_in_use:查询用到的表的数量
    • trx_tables_locked:查询加行锁的表的数量
    • trx_rows_locked:事务锁住的行数(不是准确数字)
    • trx_rows_modified:事务插入或者修改的行数

    3、INNODB_LOCKS表:

    • lock_id:锁ID
    • lock_trx_id:拥有锁的事务 ID。可以和 INNODB_TRX 表 JOIN 得到事务的详细信息。
    • lock_mode:锁的模式。
    • lock_type:锁的类型。RECORD 代表行级锁,TABLE 代表表级锁。
    • lock_table:被锁定的或者包含锁定记录的表的名称。
    • lock_index:当LOCK_TYPE=’RECORD’ 时,表示索引的名称;否则为 NULL。
    • lock_space:当LOCK_TYPE=’RECORD’ 时,表示锁定行的表空间 ID;否则为 NULL。
    • lock_page:当 LOCK_TYPE=’RECORD’ 时,表示锁定行的页号;否则为 NULL。
    • lock_rec:当 LOCK_TYPE=’RECORD’ 时,表示一堆页面中锁定行的数量,亦即被锁定的记录号;否则为 NULL。
    • lock_data:当 LOCK_TYPE=’RECORD’ 时,表示锁定行的主键;否则为NULL。

    4、INNODB_LOCK_WAITS表:

    • requesting_trx_id:申请锁资源的事务ID
    • requesting_lock_id:申请的锁的ID
    • blocking_trx_id:租塞的事务ID
    • blocking_lock_id:租塞的锁的ID
  • 相关阅读:
    暑假N天乐【比赛篇】 —— 2019牛客暑期多校训练营(第二场)
    莫比乌斯反演入门解析
    暑假N天乐【比赛篇】 —— 2019牛客暑期多校训练营(第一场)
    暑假N天乐 —— 多重+分组背包及变形
    暑假N天乐 —— 完全背包及变形
    暑假N天乐【比赛篇】 —— 牛客假日团队赛6
    暑假N天乐 —— 01背包及变形
    离线线段树 SPOJ
    [Python]数据类型、常量、变量和运算符(未完待续)
    [Python]从哪里开始学习写代码(未完待续)
  • 原文地址:https://www.cnblogs.com/tongxuping/p/12334695.html
Copyright © 2011-2022 走看看