新集群恢复数据之后,统计信息不齐,需要手动执行analyze

【TiDB 使用环境】生产环境
【TiDB 版本】v8.5.1
【操作系统】Rocky Linux 9.1
【部署方式】阿里云 SSD

部署了一个新集群,使用备份的文件恢复到新集群,执行 SHOW STATS_HEALTHY 只查到7千多条记录;
等了2天了依旧如此,正常应该有1.4万才对的,手动执行 analyze 之后正常了。
这是为什么呢?

br物理恢复吗

br物理恢复

是的,br物理恢复

是不是没指定参数下面这个参数
https://docs.pingcap.com/zh/tidb/stable/br-snapshot-manual/#备份统计信息

单表数据量太少了吧没触发自动analyze

我们在备份时,设置了 --ignore-stats=true,预计是恢复之后,等待自动收集任务的完成;
可是等了两天也没有什么变化。

不是这个问题,大量几百万行的大表也没有自动采集到统计信息。

=true是默认不备份吧

是呀,设置不备份统计信息,等待恢复之后自动采集;
现在是自动采集等了两天都没有什么增量。

自动采集统计信息要满足以下三个条件的
1、dml后1分钟
2、修改行数与总行数比值大于analyze_ratio
3、时间在自动收集统计信息的开始与结束时间内

健康度多少

1、dml后1分钟 > 这个肯定满足
2、修改行数与总行数比值大于analyze_ratio > 有些表确实没有大修改,可是连初始的健康度都没有,即 SHOW STATS_HEALTHY 的结果没有它
3、时间在自动收集统计信息的开始与结束时间内 > 这个也肯定满足

超过一半的表,是根本没有健康度,即 SHOW STATS_HEALTHY 的结果没有它

应该是没触发自动analyze

就是这个影响的,备份还原之后是没有统计信息的,所以show的时候没有这个表。

br物理恢复吧

br物理恢复?

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。