tidb表健康度100但实际统计信息却不准

ttidb_auto_analyze_ratio 改成0.2试试,我记得只能设置最小0.2

1 个赞

目前我有个定时任务去每天凌晨执行一次analyze (逻辑是先检查表的健康度是不是100,对于不是100的才执行analyze) , 但是当前来看,表的统计信息实际是不准的,但是表的健康度依然是100, 我自己建了个表, 执行insert update操作对表数据进行大量修改后, 表的健康度依然是100, 而统计信息中的表行数 依然是我上次手动执行analyze后的行数1000(实际行数已经变成了100), 昨天执行的测试,今天来看还是一样健康度10000,统计信息没有更新

没有复现出来,我们目前也是根据健康度来判断是否需要analyze的。

你们这边复现的时候 对表做了大量修改后 表的健康度 会变成不是100吗? 然后统计信息中表的行数会自动更新?

这个方向查过吗?我觉得这个是大概率能有些发现的。

是不是负载均衡有多个tidb-server,遇到过多个tidb上查的健康度不一样的问题。业务用的tidb server和运维用的tidb server不一样。

是单机的,只有一个tidb 一个 tikv 一个 pd

1 个赞

是的,会自动更新。
如果是单节点,建议还是看一下日志。另外检查一下 PD配置文件max-replicas是不是设置的1。