2
1
4
0
博客/.../

TiDB DBA 必会的 30 个排查 SQL

 TiDB_DATABASE88  发表于  2026-03-08

下面整理了一套 TiDB DBA 在生产环境最常用的 30 个排查 SQL。基本覆盖:

  • SQL性能问题
  • 锁等待
  • 热点Region
  • 集群状态
  • 统计信息
  • GC
  • 存储容量

这些基本是 TiDB运维排障的核心工具箱

一、查看当前SQL(4个)

1 查看当前所有SQL

SELECT * 
FROM information_schema.cluster_processlist;

查看:

  • 当前正在执行的 SQL
  • 执行时间
  • 来源 IP

2 查看运行时间最长SQL

SELECT *
FROM information_schema.cluster_processlist
ORDER BY time DESC
LIMIT 10;

3 杀掉SQL

KILL TIDB <connection_id>;

例子:

KILL TIDB 123456;

4 查看事务

SELECT *
FROM information_schema.cluster_tidb_trx;

二、慢SQL分析(3个)

5 查看慢SQL

SELECT *
FROM information_schema.slow_query
ORDER BY time DESC
LIMIT 20;

6 按SQL统计慢SQL

SELECT digest,
count(*) cnt,
avg(query_time) avg_time
FROM information_schema.slow_query
GROUP BY digest
ORDER BY cnt DESC
LIMIT 10;

7 查看执行最慢SQL

SELECT *
FROM information_schema.slow_query
ORDER BY query_time DESC
LIMIT 10;

三、锁等待排查(4个)

8 查看锁等待

SELECT *
FROM information_schema.data_lock_waits;

9 查看锁持有者

SELECT *
FROM information_schema.data_locks;

10 查看事务锁

SELECT *
FROM information_schema.cluster_tidb_trx;

11 查看阻塞关系

SELECT *
FROM information_schema.cluster_lock_waits;

四、热点Region排查(4个)

TiDB性能问题 80%来自热点Region

12 查看热点region

SELECT *
FROM information_schema.tidb_hot_regions;

13 查看表region分布

SELECT *
FROM information_schema.tikv_region_status
WHERE db_name='db';

14 查看region leader分布

SELECT
store_id,
count(*) region_count
FROM information_schema.tikv_region_status
GROUP BY store_id;

15 查看region大小

SELECT
region_id,
approximate_size
FROM information_schema.tikv_region_status
ORDER BY approximate_size DESC
LIMIT 10;

五、集群状态(4个)

16 查看集群节点

SELECT *
FROM information_schema.cluster_info;

17 查看组件版本

SELECT *
FROM information_schema.cluster_info
WHERE type='tidb';

18 查看tikv状态

SELECT *
FROM information_schema.cluster_info
WHERE type='tikv';

19 查看pd节点

SELECT *
FROM information_schema.cluster_info
WHERE type='pd';

六、统计信息排查(3个)

20 查看统计信息

SELECT *
FROM mysql.stats_meta
WHERE db_name='db';

21 查看列统计

SELECT *
FROM mysql.stats_histograms
WHERE db_name='db'
AND table_name='table';

22 查看统计更新时间

SELECT
table_name,
version
FROM mysql.stats_meta
ORDER BY version DESC;

七、GC排查(3个)

23 查看GC状态

SELECT *
FROM mysql.tidb
WHERE variable_name LIKE 'tikv_gc%';

24 查看GC safe point

SELECT *
FROM mysql.tidb
WHERE variable_name='tikv_gc_safe_point';

25 查看GC生命周期

SELECT *
FROM mysql.tidb
WHERE variable_name='tikv_gc_life_time';

八、存储容量(3个)

26 查看表大小

SELECT
table_schema,
table_name,
table_rows,
data_length/1024/1024 MB
FROM information_schema.tables
ORDER BY data_length DESC
LIMIT 10;

27 查看数据库大小

SELECT
table_schema,
SUM(data_length)/1024/1024 MB
FROM information_schema.tables
GROUP BY table_schema;

28 查看索引大小

SELECT
table_schema,
table_name,
index_length/1024/1024 MB
FROM information_schema.tables
ORDER BY index_length DESC;

九、DDL任务(2个)

29 查看DDL任务

SELECT *
FROM information_schema.tidb_ddl_jobs;

30 查看DDL历史

ADMIN SHOW DDL JOBS 20;

2
1
4
0

版权声明:本文为 TiDB 社区用户原创文章,遵循 CC BY-NC-SA 4.0 版权协议,转载请附上原文出处链接和本声明。

评论
暂无评论