SQL模板ID 对应tidb元数据中的哪个表哪个字段

【TiDB 使用环境】生产环境 /测试/ Poc
【TiDB 版本】v.6.5.2
【操作系统】CentOS7.9
【部署方式】 机器部署(什么机器配置、什么硬盘)
【集群数据量】
【集群节点数】
【问题复现路径】TiDB Dashboard->慢查询->慢查询详情->基本信息

【遇到的问题:问题现象及影响】SQL执行缓慢,查询计划是否来自绑定。期望按“SQL 模板 ID”定位到mysql.bind_info表对应的记录,并根据 SQL Digest 删除绑定。
问题:不知道“SQL模板ID” 对应tidb元数据(INFORMATION_SCHEMA.COLUMNS)中的哪个表哪个字段?
关键字匹配未找到对应对象:
select * from INFORMATION_SCHEMA.COLUMNS where table_schema in (‘mysql’,‘INFORMATION_SCHEMA’,‘PERFORMANCE_SCHEMA’) and column_name like ‘%digest%’
union
select * from INFORMATION_SCHEMA.COLUMNS where table_schema in (‘mysql’,‘INFORMATION_SCHEMA’,‘PERFORMANCE_SCHEMA’) and column_name like ‘%plan%’
union
select * from INFORMATION_SCHEMA.COLUMNS where table_schema in (‘mysql’,‘INFORMATION_SCHEMA’,‘PERFORMANCE_SCHEMA’) and column_name like ‘%sql%id%’
order by 2,3,5

【资源配置】
【复制黏贴 ERROR 报错的日志】
【其他附件:截图/日志/监控】

应该是这个表

SELECT * FROM INFORMATION_SCHEMA.`STATEMENTS_SUMMARY_HISTORY`
WHERE `DIGEST` =''


TiDB Dashboard中最近30分钟,执行耗时最久的sql,其“SQL模板ID”按SQL查询无相关记录。

那个是历史表,查最近的用这个表

SELECT * FROM INFORMATION_SCHEMA.`STATEMENTS_SUMMARY`
WHERE DIGEST = ''


STATEMENTS_SUMMARY、CLUSTER_STATEMENTS_SUMMARY中也没有找到记录。
CLUSTER_SLOW_QUERY 找到了
select * from INFORMATION_SCHEMA.CLUSTER_SLOW_QUERY where Digest =‘865931b3387f3bceae484b8033685d69bfc9d3660dc4232e7d674cfe507a210f’;

这个是慢查询表,dashboard的慢查询页面的数据,就是从这个表里取的。

1 个赞

试试这个函数
https://docs.pingcap.com/zh/tidb/stable/tidb-functions/#tidb_decode_sql_digests

可以查询最近的表和历史表
SELECT * FROM INFORMATION_SCHEMA.STATEMENTS_SUMMARY
WHERE DIGEST =‘’;

SELECT * FROM INFORMATION_SCHEMA.STATEMENTS_SUMMARY_HISTORY
WHERE DIGEST =‘’;