iis服务器助手广告
返回顶部
首页 > 资讯 > 数据库 >MySQL系统表information_schema.INNODB_TRX详解及查看当前运行事务
  • 510
分享到

MySQL系统表information_schema.INNODB_TRX详解及查看当前运行事务

mysql数据库 2023-08-21 13:08:17 510人浏览 泡泡鱼
摘要

文章目录 1. 目的2. 说明2.1 查询正在执行的事务2.2 详细字段说明 3. 案例3.1 表结构3.2 查看事务 1. 目的 在日常管理数据库的过程中,有时需要查询Mysql数据库是否正在有正在执行的事务,便于排查

1. 目的

在日常管理数据库的过程中,有时需要查询Mysql数据库是否正在有正在执行的事务,便于排查业务问题。mysql的系统库表有数据维护对应的信息,就在infORMation_schema库中的INNODB_TRX表,包含事务中是否存在,事务开启时间,事务执行的语句等等。

2. 说明

2.1 查询正在执行的事务

SELECT * FROM information_schema.innodb_trx;

2.2 详细字段说明

字段可取值说明
TRX_ID事务ID:具有唯一性,这些ID不是为只读和非锁定的事务创建的。
TRX_WEIGHT事务权重:衡量更改的行数和锁的行数,在死锁的时候,引擎会优先回滚低权重的事务。更改了非事务表的事务被认为比其他事务重,无论更改和锁定的行数是多少。
TRX_STATE
  • RUNNING
  • LOCK WaiT
  • ROLLING BACK
  • COMMITTING
    事务执行状态
    TRX_STARTED事务开始时间,格式如:2022-11-23 10:18:38
    TRX_REQUESTED_LOCK_ID锁等待ID,可以join上对应INNODB_LOCKS 表的id
    TRX_WAIT_STARTED锁等待的开始时间
    TRX_MYsql_THREAD_IDMySQL 的线程ID,可以join上对应的 PROCESSLIST表数据
    TRX_QUERY事务过程执行的SQL语句
    TRX_OPERATION_STATE事务当前的状态
    TRX_TABLES_IN_USE事务过程中使用到的表数量
    TRX_TABLES_LOCKED事务过程中被锁的表数量
    TRX_LOCK_STRUCTS事务保留的所数量
    TRX_LOCK_MEMORY_BYTES锁用到的内存大小
    TRX_ROWS_LOCKED事务锁定的近似行数,该值可能包括物理上存在但对事务不可见的删除标记行。
    TRX_ROWS_MODIFIED事务过程中更改或插入的行数
    TRX_CONCURRENCY_TICKETS事务并发票数,由系统变量innodb_concurrency_tickets设置
    TRX_ISOLATION_LEVEL
    • READ-UNCOMMITTED
    • READ-COMMITTED
    • REPEATABLE-READ
    • SERIALIZABLE
    事务隔离级别
    TRX_UNIQUE_CHECKS1或0是否打开唯一性检查的标识,加载大量数据时关闭
    TRX_FOREIGN_KEY_CHECKS1或0是否打开外键检查的标识,加载大量数据时关闭
    TRX_LAST_FOREIGN_KEY_ERROR最后一次的外键错误信息
    TRX_ADAPTIVE_HASH_LATCHED自适应哈希索引是否被当前事务锁定, innodb_adaptive_hash_index_parts设置
    TRX_ADAPTIVE_HASH_TIMEOUT是立即放弃自适应哈希索引的搜索锁占有,还是在来自MySQL的调用中保留它。
    TRX_IS_READ_ONLY1表示只读
    TRX_AUTOCOMMIT_NON_LOCKING1表示:没使用FOR UPDATELOCK IN SHARED MODE的SELECT语句

    3. 案例

    3.1 表结构

    MySQL [myhr]> desc city;         +--------------+--------------+------+-----+---------+-------+| Field        | Type         | Null | Key | Default | Extra |+--------------+--------------+------+-----+---------+-------+| city_code    | varchar(255) | NO   | PRI | NULL    |       || city_name    | varchar(255) | YES  |     | NULL    |       || parent_code  | varchar(255) | YES  | MUL | NULL    |       || key_cities   | varchar(255) | YES  |     | NULL    |       || abbreviation | varchar(255) | YES  |     | NULL    |       || city_level   | varchar(255) | YES  |     | NULL    |       |+--------------+--------------+------+-----+---------+-------+

    数据:

    MySQL [myhr]> select * from city limit 10;+-----------+--------------+-------------+------------+--------------+------------+| city_code | city_name    | parent_code | key_cities | abbreviation | city_level |+-----------+--------------+-------------+------------+--------------+------------+| 110000    | 北京市       | 0           | NULL       | NULL         | NULL       || 110100    | 北京市       | 110000      | NULL       | NULL         | NULL       || 110101    | 东城区       | 110100      | NULL       | NULL         | NULL       || 110102    | 西城区       | 110100      | NULL       | NULL         | NULL       || 110105    | 朝阳区       | 110100      | NULL       | NULL         | NULL       || 110106    | 丰台区       | 110100      | NULL       | NULL         | NULL       || 110107    | 石景山区     | 110100      | NULL       | NULL         | NULL       || 110108    | 海淀区       | 110100      | NULL       | NULL         | NULL       || 110109    | 门头沟区     | 110100      | NULL       | NULL         | NULL       || 110111    | 房山区       | 110100      | NULL       | NULL         | NULL       |+-----------+--------------+-------------+------------+--------------+------------+

    3.2 查看事务

    MySQL [(none)]> SELECT * FROM information_schema.innodb_trx\G;*************************** 1. row ***************************                    trx_id: 22018017                 trx_state: LOCK WAIT               trx_started: 2022-11-23 12:43:48     trx_requested_lock_id: 22018017:1028:5:2          trx_wait_started: 2022-11-23 12:43:48                trx_weight: 2       trx_mysql_thread_id: 1635                 trx_query: update city set city_level=12  where city_code=110100       trx_operation_state: starting index read         trx_tables_in_use: 1         trx_tables_locked: 1          trx_lock_structs: 2     trx_lock_memory_bytes: 1136           trx_rows_locked: 1         trx_rows_modified: 0   trx_concurrency_tickets: 0       trx_isolation_level: REPEATABLE READ         trx_unique_checks: 1    trx_foreign_key_checks: 1trx_last_foreign_key_error: NULL trx_adaptive_hash_latched: 0 trx_adaptive_hash_timeout: 0          trx_is_read_only: 0trx_autocommit_non_locking: 0*************************** 2. row ***************************                    trx_id: 22017539                 trx_state: RUNNING               trx_started: 2022-11-23 12:42:23     trx_requested_lock_id: NULL          trx_wait_started: NULL                trx_weight: 14       trx_mysql_thread_id: 1633                 trx_query: NULL       trx_operation_state: NULL         trx_tables_in_use: 0         trx_tables_locked: 1          trx_lock_structs: 13     trx_lock_memory_bytes: 1136           trx_rows_locked: 3686         trx_rows_modified: 1   trx_concurrency_tickets: 0       trx_isolation_level: REPEATABLE READ         trx_unique_checks: 1    trx_foreign_key_checks: 1trx_last_foreign_key_error: NULL trx_adaptive_hash_latched: 0 trx_adaptive_hash_timeout: 0          trx_is_read_only: 0trx_autocommit_non_locking: 02 rows in set (0.00 sec)

    参考文档:
    MySQL官方文档

    来源地址:https://blog.csdn.net/oschina_41731918/article/details/128005386

    您可能感兴趣的文档:

    --结束END--

    本文标题: MySQL系统表information_schema.INNODB_TRX详解及查看当前运行事务

    本文链接: https://www.lsjlt.com/news/376988.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作