当前位置: 首页> 健康> 知识 > TIDB锁表与事务查询

TIDB锁表与事务查询

时间:2025/7/11 8:10:12来源:https://blog.csdn.net/lihongbao80/article/details/140299359 浏览次数:0次
# 查询当前tidb server进程,等效show processlist
select * from information_schema.PROCESSLIST;
# 查询tidb集群进程
select * from INFORMATION_SCHEMA.CLUSTER_PROCESSLIST;# 查询tidb集群开启的事务
select * from INFORMATION_SCHEMA.cluster_tidb_trx;
# 查询当前tidb节点开启的事务
SELECT *  FROM information_schema.TIDB_TRX tt ;#展示了集群中所有 TiKV 节点上当前正在发生的等锁情况,包括悲观锁的等锁情况和乐观事务被阻塞的信息
select  * from INFORMATION_SCHEMA.DATA_LOCK_WAITS ;#提供当前 TiDB 节点上最近发生的若干次死锁错误的信息
select  * from INFORMATION_SCHEMA.DEADLOCKS ;
#提供TiDB集群上最近发生的若干次死锁错误的信息
select  * from INFORMATION_SCHEMA.CLUSTER_DEADLOCKS 

TIDB_TRX 表中各列的字段含义如下:

  • ID:事务 ID,即事务的开始时间戳 start_ts。
  • START_TIME:事务的开始时间,即事务的 start_ts 所对应的物理时间。
  • CURRENT_SQL_DIGEST:该事务当前正在执行的 SQL 语句的 Digest。
  • CURRENT_SQL_DIGEST_TEXT:该事务当前正在执行的 SQL 语句的归一化形式,即去除了参数和格式的 SQL 语句。与 CURRENT_SQL_DIGEST 对应。
  • STATE:该事务当前所处的状态。其可能的值包括:
    • Idle:事务处于闲置状态,即正在等待用户输入查询。
    • Running:事务正在正常执行一个查询。
    • LockWaiting:事务处于正在等待悲观锁上锁完成的状态。需要注意的是,事务刚开始进行悲观锁上锁操作时即进入该状态,无论是否有被其它事务阻塞。
    • Committing:事务正在提交过程中。
    • RollingBack:事务正在回滚过程中。
  • WAITING_START_TIME:当 STATE 值为 LockWaiting 时,该列显示等待的开始时间。
  • MEM_BUFFER_KEYS:当前事务写入内存缓冲区的 key 的个数。
  • MEM_BUFFER_BYTES:当前事务写入内存缓冲区的 key 和 value 的总字节数。
  • SESSION_ID:该事务所属的 session 的 ID。
  • USER:执行该事务的用户名。
  • DB:执行该事务的 session 当前的默认数据库名。
  • ALL_SQL_DIGESTS:该事务已经执行过的语句的 Digest 的列表,表示为一个 JSON 格式的字符串数组。每个事务最多记录前 50 条语句。通过 TIDB_DECODE_SQL_DIGESTS 函数可以将该列的信息变换为对应的归一化 SQL 语句的列表。

注意:

  • 仅拥有 PROCESS 权限的用户可以获取该表中的完整信息。没有 PROCESS 权限的用户则只能查询到当前用户所执行的事务的信息。
  • CURRENT_SQL_DIGEST 和 ALL_SQL_DIGESTS 列中的信息(SQL Digest)为 SQL 语句进行归一化后计算得到的哈希值。CURRENT_SQL_DIGEST_TEXT 列中的信息和函数 TIDB_DECODE_SQL_DIGESTS 所得到的结果均为内部从 Statements Summary 系列表中查询得到,因而存在内部查询不到对应语句的可能性。关于 SQL Digest 和 Statements Summary 相关表的详细说明,请参阅Statement Summary Tables。
  • TIDB_DECODE_SQL_DIGESTS 函数调用开销较大,如果对大量事务的信息调用该函数查询历史 SQL,可能查询耗时较长。如果集群规模较大、同一时刻并发运行的事务较多,请避免直接在查询 TIDB_TRX 全表的同时直接将该函数用于 ALL_SQL_DIGEST 列(即尽量避免 select *, tidb_decode_sql_digests(all_sql_digests) from tidb_trx 这样的用法)。
  • 目前 TIDB_TRX 表暂不支持显示 TiDB 内部事务相关的信息。

CLUSTER_TIDB_TRX整个集群上所有 TiDB 节点中正在执行的事务信息

关键字:TIDB锁表与事务查询

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: