PostgreSQL中的集群和非集群索引

MAK*_*MAK 4 postgresql indexing postgresql-9.3

我正在使用PostgreSQL 9.3版本来创建数据库.

我有一些列列表的下表测试.

create table test
(
  cola varchar(10),
  colb varchar(10),
  colc varchar(10),
  cold varchar(10)
);
Run Code Online (Sandbox Code Playgroud)

现在我想在一些列上创建索引.

例如:

我想创建一个列聚集索引colacolb.

我想创建一个列非聚集索引colccold.

正如我提到这个这个,我才知道,有在PostgreSQL里没有聚集和非聚集索引.

我的问题:我可以使用什么类型的索引而不是PostgreSQL中的聚簇索引和非聚簇索引,它与集群索引和非聚簇索引的作用相同?

Mar*_*and 18

我的问题:我可以使用什么类型的索引而不是PostgreSQL中的聚簇索引和非聚簇索引,它与集群索引和非聚簇索引的作用相同?

PostgreSQL根本就没有聚簇索引的概念.相反,所有表都是堆表,所有索引都是非聚簇索引.

只需在创建聚簇索引时创建非聚集索引.

更多细节:

  • @mak:我也发现Markus的这个博客非常有趣:http://use-the-index-luke.com/blog/2014-01/unreasonable-defaults-primary-key-clustering-key (4认同)
  • 看来Postgres实现的东西至少接近*聚集索引*:"CLUSTER指示PostgreSQL根据index_name指定的索引对table_name指定的表进行聚类"来自postgres docs:https://www.postgresql.org/文档/ 9.1 /静态/ SQL-cluster.html (2认同)