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

根据 TiDB 的设计,健康度公式为:
Healthy = (1 - Modify_count / Row_count) * 100
Modify_count(自上次统计信息收集以来的数据变更次数)为 0 时,健康度自然为 100。但这仅表示统计信息未因数据变更而过期,不保证统计信息中的行数与真实行数完全一致。例如:

  • 数据导入场景:如果表通过 LOAD DATAINSERT INTO SELECT 直接导入数据,但未触发 Modify_count 的更新,即使真实行数大幅增加,健康度仍可能显示为 100
1 个赞