统一`tidb_runaway_queries`和`runaway_watches`两个表对SQL的digest

如下图所示,在mysql.tidb_runaway_queriesinformation_schema.runaway_watches里,对SQL使用两个不同的digest,没办法直观的判断两者的对应关系。(通过时间只能是间接判断,但是太不精准了,最好是两者统一,方便join查询)

一个简单的业务场景,某个业务上线出现了多个慢查询,理论上runaway_watchestidb_runaway_queries都会很多。这个时候通过加索引的方式,在不需要业务改造SQL的情况下,某个SQL已经优化完毕,当想删除runaway_watches上数据时候,就会发现根本不知道要删除哪条记录。

@dba-kit 请问下用的什么client,表名还带下划线?

额,用的是iTerm 2,这个是在截图时候鼠标正好在表名那里,才会出现个下划线,正常情况下也不会有提示的 :rofl:

1 个赞

这里 information_schema.runaway_watches 里watch的similar,所以 text 对应的是 sql_digest. 我们会在后续版本向 mysql.tidb_runaway_queries 中增加 sql_digest 这一列,可以满足这个场景。 感谢建议。

2 个赞

:+1: :+1: :+1: :+1: :+1: :+1: :+1:

7.5.1能赶得上么?:monkey:
现在正在测TiDB 7.5,重点就是用它的资源管控能力,准备就用2、3月份要出的7.5.1,希望能赶上

新加列的操作会视为破坏兼容性,除非特殊情况,否则不会被允许进到已发布的版本上。 这个表上只保存7天的数据,超过7天会自动删除,如果没法关联清理,可以暂时留给系统自动做。