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
  • 相关阅读:
    BZOJ 1016 最小生成树计数(矩阵树定理)
    sdoi2013 spring(hash+容斥)
    51nod 1301 集合异或和(DP)
    51nod 1576 Tree and permutation(树的重心+dfn序)
    BZOJ 4145 [AMPPZ2014]The Prices (状压DP)
    BZOJ 2260 商店购物(最小树形图)
    BZOJ 4006 [JLOI2015]管道连接(斯坦纳树+子集DP)
    BZOJ 2595 [Wc2008]游览计划(斯坦纳树)
    BZOJ 5180 [Baltic2016]Cities(斯坦纳树)
    51nod 1392 装盒子(费用流)
  • 原文地址:https://www.cnblogs.com/tongxuping/p/12334695.html
Copyright © 2011-2022 走看看