示例
示例
ANALYZE orders; -- 收集单表统计
ANALYZE VERBOSE orders; -- 输出进度信息
-- 查看最近一次统计收集时间与未分析变更量
SELECT relname, last_analyze, last_autoanalyze,
n_live_tup, n_mod_since_analyze
FROM pg_stat_user_tables
WHERE relname = 'orders';| 触发时机 | 大批量导入或删除后;估算行数明显偏离时 |
|---|---|
| 自动收集 | autovacuum 负责 autoanalyze,按变更比例触发(autovacuum_analyze_scale_factor) |
| 多列相关性 | 列间存在相关性(如城市与邮编)时可用 CREATE STATISTICS 扩展统计 |
ANALYZE 只读取样本、不阻塞读写,可随时执行;采样量由 default_statistics_target 控制。