PostgreSQL 扩展统计(Extended Statistics)与查询计划稳定性
关键实践与参数
- 创建扩展统计:
CREATE STATISTICS s (dependencies, mcv, ndistinct) ON a, b FROM t; - 提升估算:处理列相关性与高频值分布,避免错误计划。
- 维护:
ANALYZE更新统计;调整default_statistics_target。
验证方法
EXPLAIN (ANALYZE)比较有/无扩展统计的计划差异与耗时。- 观察行数估算误差与连接策略变化(Nested Loop/Hash Join)。
- 长期监控计划波动并回归测试关键查询。
注意事项
- 扩展统计会增加维护开销;仅对关键表与列组合启用。
- 数据分布变化需重新
ANALYZE;避免旧统计造成误导。 - 与索引与分区策略协同,综合优化。

发表评论 取消回复