1

Postgres 有新版本9.6 - 我已阅读有关仅索引扫描的文档。我知道 postgres 表的堆,并且我知道部分索引(或一般索引)是如何工作的。我只是不明白仅索引的好处。

问题

  • 真正改变了什么?我们不是已经使用了仅索引扫描吗?
  • 我应该如何以及何时使用它们以获得最佳收益?

非相关背景: 我正在处理生产环境中包含大量INSERTs 和s 的 6B 行的表SELECT

4

1 回答 1

6

引用发行说明

当索引的 WHERE 子句引用未编入索引的列时,允许对部分索引使用仅索引扫描

(强调我的)

所以在 9.5 和之前的索引不能用于仅索引扫描:

create index on foo (col1, col2)
   where col3 = 42;

因为col3不是索引列的一部分。这在 9.6 中发生了变化

于 2016-09-29T17:06:43.323 回答