【 TiDB 使用环境】生产环境
【 TiDB 版本】5.0.6
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】 相同的执行计划执行时间差距很大,不同的执行计划互有快慢,都不知道最佳的执行计划是哪个了,例如11-07号“a76a4c820c103f1cb02d1f6d704f9835f5d2ea5b949d9733abb4bd260d44b574”的执行计划需要13秒,而11-08号“a76a4c820c103f1cb02d1f6d704f9835f5d2ea5b949d9733abb4bd260d44b574”的执行计划只需要1s
【资源配置】
【附件:截图/日志/监控】
可以看看dashboard的SQL语句分析,那个地方有显示最大,最小平均时间
相同的执行计划耗时不同,一般和具体SQL的资源消耗相关,例如SQL中代入的变量不同处理的数据量就会有差异,进而导致资源消耗高,耗时增加,可以看看有没有更好的执行计划或者优化下SQL
数据量一致么?表健康度一致么?
多次查询变量是一致的。。
多次查询变量一致,然后相隔时间没超过几分钟。 健康度的问题也想过,但是16:36:06 同一时刻需要13s、6s、5s
执行时间不一样,选择的执行计划一样吗?
做一下trace,看看时间差异哪那一步
目前都很快 不到2s 就是出现同一个执行计划差距很大的情况 不太理解
看plan_digest是一样的
麻烦问下这个trace 怎么做?
好的,谢谢
有几种情况:
- 执行计划一致,但是查询的数据量不一致。
- 执行计划一致,可能有其他方面的堵塞,这个具体要看一下dashboard的语句执行时间,看看执行时间长的消耗在哪个部分上了。
1、确定了参数是一样的 ,而且是同一时间执行的
2、在同一时刻,也看了监控 并没有什么异常。
跑完全相同的SQL,执行耗时差异有这么大吗?
直接点击 dashboard,点开慢查询,找到这几个时间点,逐一每一个看一下。看下SQL执行时间选项卡,看看耗时在哪里,对比的看一下
1.dashboard对比这几个sql时间不同在哪里
2.看一下当时是否有其他sql导致当前sql堵塞,即锁相关