【发布时间】:2021-09-25 19:57:03
【问题描述】:
PostgreSQL 中有没有办法将表标记为存储插入后永远不会更改的数据,从而提高性能? Index-Only Scans and Covering Indexes:
但是,对于很少更改的数据,有一种方法可以解决此问题。 PostgreSQL 跟踪表堆中的每一页,是否所有行 存储在该页面中的旧版本足以对所有当前和 未来的交易。此信息存储在一个位中 表的可见性贴图。仅索引扫描,在找到候选对象后 索引条目,检查相应堆的可见性映射位 页。如果已设置,则该行是可见的,因此数据可以是 没有进一步的工作就返回了。如果未设置,则堆条目必须为 访问以了解它是否可见,因此没有性能优势 是通过标准索引扫描获得的
如果 PostgreSQL 知道表中的数据永远不会更改,那么在仅索引扫描中就不必访问堆条目。
【问题讨论】:
标签: sql postgresql