如果我关闭自动analyze table 除了我手动analyze table 我记得还有个参数是让sql 哪怕统计信息过期也不改变执行计划的

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】
如果我关闭自动analyze table 除了我手动analyze table 我记得还有个参数是让sql 哪怕统计信息过期也不改变执行计划的
问题1 怎么配置
问题2 统计信息过期也走老计划不走pesudo 是不是性能会好点

一种 binding,一种 lock stats

不管是绑定还是锁定都是有风险的,如果数据量变化很大,还是用老的统计信息可能导致性能问题,所以还是要慎重。
执行计划管理 (SPM) | PingCAP 归档文档站

LOCK STATS | PingCAP 归档文档站

你是说这个https://docs.pingcap.com/zh/tidb/stable/system-variables#tidb_enable_pseudo_for_outdated_stats-从-v530-版本开始引入

:yum:我们现在是在程序里加了个定时任务,循环执行analyze table xxx。

1 个赞

嗯 定时任务跑也是方法

+1
用多了,对一些关键表都会定期在业务低谷时段执行analyze,都是吃过亏踩过坑过来的

绑定(SPM)或者固化统计