mysql鎖分析相關的幾個系統檢視

sqysl發表於2020-01-22


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    |       |     # 連線執行緒當前正執行的語句
+---------+---------------------+------+-----+---------+-------+


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8484829/viewspace-2674266/,如需轉載,請註明出處,否則將追究法律責任。

相關文章