EXPLAIN 与运维

返回 PostgreSQL

psql 元命令与日常 DDL/DML:基础命令


EXPLAIN ANALYZE

EXPLAIN ANALYZE
SELECT * FROM orders WHERE user_id = 42 AND status = 'paid';
关键词说明
Seq Scan全表扫描,考虑加索引
Index Scan走索引,有回表
Index Only Scan覆盖索引,无回表
Bitmap Index Scan多个索引合并使用
actual time实际执行时间
rows实际行数,与预估差距大说明需要 ANALYZE

统计与清理

ANALYZE users;           -- 更新统计信息(执行计划不准时用)
VACUUM ANALYZE users;    -- 清理死元组并更新统计

连接与会话

SELECT pid, usename, state, query
FROM pg_stat_activity
WHERE state != 'idle';
 
SELECT pg_terminate_backend(pid);

相关