Tidb查询速度很慢,即使是通过索引查询

是所有的查询都慢。

从后面发的截图看并没有慢到3分钟,也就是几十毫秒,看现象应该和统计信息也没关系,能找个慢3分钟这种的点查sql从dashboard看看具体是慢到了哪一步吗

这个SQL 语句语法有错误

看不到。

观察到Tikv的CPU负载长期偏高

不能看不到吧,慢SQL都有各阶段执行耗时的
image

1 个赞


我这边看到是这个

那就是确定慢到Coprocessor了,看下这个sql的执行计划,这种不是点查的吧

1 个赞

这个不是点查

发下这个SQL和对应执行计划吧,估计是扫描的行多,这个sql执行了好几个小时,其他sql慢也可能是受他影响

没有看到点查的是3分钟啊

点查那个没看到,但确实是3分多钟

有可能是网路或者工具的问题,我用navicat的时候,实际使用时间和navicat显示的使用时间就是不一样。

应该不是工具问题,我还有另一个集群,用工具查询就很快。

也有可能是其他慢查询影响的点查也慢了,不一定是点查本身慢。有点偏题了,觉得查询慢的时候就从 慢查询语句 和 进程语句 两边找消耗资源比较大的语句,一个是执行完的,一个是正在执行的。

也有可能,我现在准备把那个慢查询的表名给改了,这样那条语句就不会执行,然后再看看查询是否还是慢。

:flushed:这么粗暴么,不应该对语句做分析调优么?

1 个赞

现在瞬间快了,就是那个SQL语句导致整个集群变慢了

一般看到tikv的cpu高,然后进入慢sql的耗时,都是coprocessor耗时,说明你有慢sql执行类似全表扫的操作导致把tikv的cpu资源给耗尽了,这种情况一般建议杀那些大sql了。。。

:call_me_hand: :call_me_hand: :call_me_hand:现在可以专攻这个sql,开始优化了