当前位置:网站首页>MySQL information schema learning (II) -- InnoDB table
MySQL information schema learning (II) -- InnoDB table
2022-07-06 19:30:00 【Night hunter - Demon King】
Learn about and innodb Related table .
1.INNODB_TRX
Provide information about each transaction currently executed internally Information about InnoDB
, Including whether the transaction is waiting for locking 、 When the transaction starts and what the transaction is executing SQL sentence .
The main Column :
TRX_ID
The only business ID NumberTRX_WEIGHT
The weight of the transaction , reflect ( But not necessarily the exact count ) Number of rows changed and transaction locked . In order to solve the deadlock ,InnoDB
Select the transaction with the smallest weight as “ The victim ” Roll back . Transactions that have changed non transactional tables are considered heavier than other transactions , No matter how many rows are changed and locked .TRX_STATE
Transaction execution status . The allowed values areRUNNING
、LOCK WAIT
、ROLLING BACK
andCOMMITTING
. You can judge whether a certain current transaction is waiting for a lockTRX_STARTED
Transaction start time .TRX_REQUESTED_LOCK_ID
The lock that the transaction is currently waiting for ID, IfTRX_STATE
yesLOCK WAIT
; otherwiseNULL
. To get more information about locks , Please compare this column with theLOCK_ID
Column Connect INNODB_LOCKS.
You can get the lock that the current transaction is waiting for , Easy to analyze deadlock problems .
TRX_WAIT_STARTED
The time when the transaction starts waiting for the lock , IfTRX_STATE
yesLOCK WAIT
; otherwiseNULL
.TRX_MYSQL_THREAD_ID
MySQL Threads ID. To get more information about threads , Please compare this column with theID
Column ConnectINFORMATION_SCHEMA
PROCESSLISTTRX_QUERY
The transaction is executing SQL sentence .TRX_OPERATION_STATE
The current operation of the transaction , If any ; otherwiseNULL
.TRX_TABLES_IN_USE
InnoDB
Process the current SQL Use The number of watches .TRX_TABLES_LOCKED
InnoDB
At present SQL Statement has a row lock Number of tables for .( Because these are row locks , Not a watch lock , So although some rows are locked , However, tables can usually still be read and written by multiple transactions .)TRX_LOCK_STRUCTS
Number of locks reserved by transaction .TRX_LOCK_MEMORY_BYTES
The total size of the lock structure of this transaction in memory .TRX_ROWS_LOCKED
The approximate number or rows locked by this transaction . The value may include delete tag lines that actually exist but are not visible to the transaction .TRX_ROWS_MODIFIED
Number of rows modified and inserted in this transaction .TRX_CONCURRENCY_TICKETS
A value , Indicates how much work the current transaction can do before it is swapped out , from innodb_concurrency_tickets The system variable specifies .TRX_ISOLATION_LEVEL
Isolation level of the current transaction .TRX_UNIQUE_CHECKS
Whether to turn unique checking on or off for the current transaction . for example , They may be turned off during bulk data loading .TRX_FOREIGN_KEY_CHECKS
Whether to turn foreign key checking on or off for the current transaction . for example , They may be turned off during bulk data loading .TRX_LAST_FOREIGN_KEY_ERROR
Detailed error information of the last foreign key error , If any ; otherwiseNULL
.TRX_ADAPTIVE_HASH_LATCHED
Whether the adaptive hash index is locked by the current transaction . When the adaptive hash index search system is partitioned , A single transaction does not lock the entire adaptive hash index . The adaptive hash index partition is created by control innodb_adaptive_hash_index_parts, The default setting is 8.TRX_ADAPTIVE_HASH_TIMEOUT
Whether to discard the search latch of adaptive hash index immediately , Or from MySQL Keep it in the call of . When there is no adaptive hash index contention , This value remains at zero , And statements retain latches until they are complete . During the dispute , It counts down to zero , And the statement releases the latch immediately after each line lookup . When the adaptive hash index search system is partitioned ( from control innodb_adaptive_hash_index_parts) when , This value remains at 0.TRX_IS_READ_ONLY
value 1 Indicates that the transaction is read-only .TRX_AUTOCOMMIT_NON_LOCKING
value 1 Indicates that the transaction is SELECT Don't useFOR UPDATE
orLOCK IN SHARED MODE
Statement of clause , And execute when enabled , autocommit Therefore, the transaction only contains this statement . When this column andTRX_IS_READ_ONLY
Are all 1 when ,InnoDB
Optimize transactions to reduce the overhead associated with transactions that change table data .
2.INNODB_LOCKS
Provide relevant InnoDB
Information about each lock that the transaction has requested but has not yet acquired , And the information held by the transaction blocking each lock of another transaction . Main column :
LOCK_ID
A unique lock ID NumberLOCK_TRX_ID
Of the transaction that holds the lock ID. To get detailed information about transactions , Please compare this column with theTRX_ID
Column Connect INNODB_TRX.LOCK_MODE
How to request a lock . The allowed lock mode descriptors areS
,X
,IS
,IX
,GAP
,AUTO_INC
, andUNKNOWN
. Lock mode descriptors can be used in combination to identify specific lock modes .LOCK_TYPE
The type of lock . Allowed valueRECORD
Applicable to row level lock 、TABLE
Table lock .LOCK_TABLE
The name of the table that has or contains the locked record .LOCK_INDEX
Name of index , IfLOCK_TYPE
yesRECORD
; otherwiseNULL
.LOCK_SPACE
Lock the table space of the record ID, IfLOCK_TYPE
yesRECORD
; otherwiseNULL
.LOCK_PAGE
Lock the page number of the record , IfLOCK_TYPE
yesRECORD
; otherwiseNULL
.LOCK_REC
The heap number of the locked record in the page , IfLOCK_TYPE
yesRECORD
; otherwiseNULL
.
3.INNODB_LOCK_WAIT
Contains each block InnoDB
One or more rows of a transaction , Indicates the lock it has requested and any locks that block the request .
Main column :
REQUESTING_TRX_ID
request ( Blocking ) The transaction ID.REQUESTED_LOCK_ID
The lock that the transaction is waiting for ID. To get more information about locks , Please compare this column with theLOCK_ID
Column Connect INNODB_LOCKS.BLOCKING_TRX_ID
Blocking a transaction ID.BLOCKING_LOCK_ID
A transaction holds a lock ID, This transaction prevents another transaction from continuing . To get more information about locks , Please compare this column with theLOCK_ID
Column connection INNODB_LOCKS.
trx Table describes transactions ,lock Table describes the lock ,lock_wait Describes the relationship between blocking transaction locks .
for instance , Create a new table members
Start transaction 1
start TRANSACTION;
SELECT * FROM members WHERE id = 1 for UPDATE;
Start transaction 2
start TRANSACTION;
SELECT * FROM members WHERE id = 1 for UPDATE;
Observe the present 3 The state of the table :
Business table There are currently two transactions 1 and 2 Business 1 Running Business 2 Waiting for lock
Lock table There is currently a lock , Business 1,2 Are requesting row locks
Lock wait list Business 1 Waiting for transaction 2 Lock of
Later, learn to use these tables to diagnose and analyze problems .
边栏推荐
- swagger2报错Illegal DefaultValue null for parameter type integer
- JDBC详解
- It's super detailed in history. It's too late for you to read this information if you want to find a job
- Interface test tool - postman
- Simple understanding of MySQL database
- 如何自定义动漫头像?这6个免费精品在线卡通头像生成器,看一眼就怦然心动!
- Leetcode 30. 串联所有单词的子串
- Zero foundation entry polardb-x: build a highly available system and link the big data screen
- How word displays modification traces
- LeetCode-1279. Traffic light intersection
猜你喜欢
Computer network: sorting out common network interview questions (I)
CPU负载很低,loadavg很高处理方法
ROS自定义消息发布订阅示例
Using clip path to draw irregular graphics
Black Horse - - Redis Chapter
五金机电行业智能供应链管理系统解决方案:数智化供应链为传统产业“造新血”
深入分析,Android面试真题解析火爆全网
零基础入门PolarDB-X:搭建高可用系统并联动数据大屏
Graffiti intelligence is listed on the dual main board in Hong Kong: market value of 11.2 billion Hong Kong, with an annual revenue of 300 million US dollars
Sanmian ant financial successfully got the offer, and has experience in Android development agency recruitment and interview
随机推荐
思维导图+源代码+笔记+项目,字节跳动+京东+360+网易面试题整理
[translation] a GPU approach to particle physics
MATLAB中deg2rad和rad2deg函数的使用
A popular explanation will help you get started
【基础架构】Flink/Flink-CDC的部署和配置(MySQL / ES)
第五期个人能力认证考核通过名单公布
Looting iii[post sequence traversal and backtracking + dynamic planning]
Meilu biological IPO was terminated: the annual revenue was 385million, and Chen Lin was the actual controller
冒烟测试怎么做
Benefit a lot, Android interview questions
Elastic search indexes are often deleted [closed] - elastic search indexes gets deleted frequently [closed]
中缀表达式转后缀表达式详细思路及代码实现
Mysql Information Schema 學習(一)--通用錶
R language ggplot2 visualization: use the ggdotplot function of ggpubr package to visualize dot plot, set the palette parameter, and set the colors of data points and box graphs of dot plots at differ
【翻译】供应链安全项目in-toto移至CNCF孵化器
接雨水问题解析
[玩转Linux] [Docker] MySQL安装和配置
Dark horse -- redis
在解决了 2961 个用户反馈后,我做出了这样的改变...
Simple application of VBA script in Excel