【 TiDB 使用环境】生产环境
【 TiDB 版本】7.5.1
大部分的宽表,分区健康度一直是0
字段数量
drop掉统计信息
看不到表的健康度
手动analyze
多次analyze 是成功的
P20240501这个分区的stats healthy是啥样的,看着你应该这个分区统计信息收集成功了
帖子上有, 看不到健康度
需要细节
P20240501 作了analyze之后的健康度是什么?
show analyze status 查看下统计状态,是否统计失败的任务中有没有你关注的表
健康度计算方式:
当 modify_count >= row_count 时,健康度为 0;当 modify_count < row_count 时,健康度为 (1 - modify_count / row_count) * 100。
有没有大量的修改数据操作?
gc的时间现在是多少。改大试试呢。
先清理垃圾数据,然后OP一下,看看有效果吗
另外你的分区表有几个分区?如果分区数量比较大的话,请把 tidb_auto_analyze_partition_batch_size
调大,7.6 以上默认值已经变成 128,可以加速 auto analyze 处理分区表的速度
另外如果你的分区内的总行数< 1000 的话,是不会做 auto analyze 操作的。
有可能bug了
的确挺奇怪的,看看有没有报错日志。
哪有20240501。。。我瞎了?
呵呵,删了之后没重建吧
20240501 分区统计信息 drop掉之后 没有自动重建 。
感觉手动analyze之后的健康度结果其实和drop的情况应该是一样的,还需要分析其他信息
还是没复现出来, 你 tidb_partition_prune_mode 这个参数改过吗? 现在是啥?
数据也不大