我正在使用 PostgreSQL 数据库,其中有一个查询联合 5000 个具有相同结构的表。查询保存为视图。我注意到此查询的规划时间明显长于执行时间 — 规划时间约为 20 秒,而执行时间不到 1 秒。
这是我的查询的简化示例:
CREATE OR REPLACE VIEW my_view AS
SELECT * FROM table1
UNION ALL
SELECT * FROM table2
-- ... (up to 5000 tables)
;
问题:
任何见解或建议将不胜感激。
materialized view
以缓存结果:demo2。每当您想丢弃旧缓存时,请记住 refresh materialized view
。如果您希望它定期自动刷新,可以使用扩展。