2012-07-06 101 views
1

我在想,如果在Postgres中,为了不必创建更多索引而将额外字段拖拽到为主键隐式创建的索引中有任何缺点。Postgres使用主键索引作为覆盖索引

这是在SQL Server创建聚簇索引的常用技术。

编辑

article上Postgres的索引。似乎Postgres索引动态与SQL服务器不同。

回答

4

不,这是不可能的。

的PostgreSQL不能“包括”栏没有使他们“主动”在索引中。

目前PostgreSQL不支持仅索引扫描。尽管如此,这将包含在即将发布的9.2版本中。

但是,将列添加到不需要的索引中可能会对更新施加性能损失,因为非索引列的更新效率要高于索引列。

+0

嗯,但如果id是唯一的,这意味着整个三重是唯一的? – 2012-07-06 22:48:20

+0

@Hassan Syed:好点。我写得太快了。 – 2012-07-06 22:49:47

+0

;)我担心Postgres正在做一些快乐键的东西。 – 2012-07-06 22:50:53