表的统计失效会对sql执行变得很慢各位大佬有好办法吗

【 TiDB 使用环境】线上
【 TiDB 版本】6.1
【遇到的问题】
表的统计信息一旦80%失效就会出现sql慢
我现在用定时器解决的但还是会有1小时的失效时间
请问各位大佬有啥好办法

【复现路径】做过哪些操作出现的问题
【问题现象及影响】

【附件】

请提供各个组件的 version 信息,如 cdc/tikv,可通过执行 cdc version/tikv-server --version 获取。

中间那段升高的平均时间就是一张大表统计失效的时间

数据变化太频繁了吧,试试绑定执行计划?
https://docs.pingcap.com/zh/tidb/stable/sql-plan-management#执行计划管理-spm

参考:https://tidb.net/blog/83b454f1

绑定执行计划。

表级变化量有一个默认值%触发tidb自动对表analyze会决定统计信息的收集,执行计划的选择影响的话最好还是固定执行计划global binding

这种情况大概率就是表非常大,并且sql里面包含时间筛选条件,并且时间范围是最新的时段范围,那统计信息永远都是过期的,只能通过hint或者binding方式解决

我怎么知道现阶段用的是啥hint

SQL贴出来看一下吧。
可以先查一下执行慢的时候的执行计划,手动收集统计信息后,看一下执行快的时候的执行计划,然后对比二者的区别在哪里,有针对性的使用hint进行binding矫正

绑定执行计划或 设置自动 analyze

查慢SQL,做hint优化

嗯 绑定执行计划

该主题在最后一个回复创建后60天后自动关闭。不再允许新的回复。