PostgreSQL 分区与并行查询优化(Partitioning、Parallel Query、统计信息)关键实践与参数分区:范围/列表分区;启用分区键索引与约束排除(自动)。并行:`max_parallel_workers_per_gather`、`parallel_setup_cost`、`parallel_tuple_cost` 调优。统计:提高热点列的 `ALTER TABLE ... ALTER COLUMN ... SET STATISTICS 200`。示例CREATE TABLE logs (ts timestamptz, uid bigint, msg text) PARTITION BY RANGE (ts); CREATE TABLE logs_2025_11 PARTITION OF logs FOR VALUES FROM ('2025-11-01') TO ('2025-12-01'); 验证方法`EXPLAIN (ANALYZE, BUFFERS)` 观察分区裁剪与并行计划;比较扫描行数与耗时。统计信息调整前后计划稳定性与误判率。归档老分区并验证查询窗口性能改善。注意事项分区数量过多会带来计划开销;控制粒度并定期合并归档。并行受工作者与 I/O 约束;避免与重写任务竞争资源。维护分区索引与约束一致性。

发表评论 取消回复