【Dashboard】慢SQL界面,SQL语句超过4096被截断

【 TiDB 使用环境】生产环境
【 TiDB 版本】v7.5.1
【复现路径】安装官方文档配置过mtidb_stmt_summary_max_sql_length,从4096改为10240,验证问题依旧存在
【遇到的问题:问题现象及影响】【Dashboard】慢SQL界面,SQL语句超过4096被截断
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】
这里是修改配置后查看最新的慢SQL,仍旧在4096被截断

已经修改了变量,但超长的SQL依旧被截断了

相关官方链接:https://docs.pingcap.com/zh/tidb/v7.5/system-variables#tidb_stmt_summary_max_sql_length-从-v40-版本开始引入

:thinking:这个变量会不会只是控制显示长度,不是保存长度,改成小于4096,然后去界面和cluster_slow_query表里看看语句长度呢?

很奇怪,用页面上的digest在TiDB里却搜不到。

slow query 表不加时间只扫描当前文件,所以你要加时间范围

正解!

1 个赞

感谢各位大佬,问题已解决,这里贴下相关配置,方便后续其他人员查阅。
其实控制这块的有两个配置:
版本:TiDB v7.5.1

  1. tidb_stmt_summary_max_sql_length :这个变量用来控制 Statement Summary TablesTiDB Dashboard 中显示的 SQL 字符串长度。
  2. tidb_query_log_max_len: * 该变量控制 SQL 语句输出的最大长度。当一条 SQL 语句的输出长度大于 tidb_query_log_max_len 时,输出将会被截断。

上面俩值默认都是4096

第二个tidb_query_log_max_len限制information_schema.cluster_slow_query表中的存储Query字段的长度,所以需要把这俩值同时修改合适(根据业务确定)长度才能解决问题。

相关文档链接:
tidb_stmt_summary_max_sql_length
tidb_query_log_max_len

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。