【发布时间】:2015-03-14 17:10:09
【问题描述】:
我正在使用 PostgreSQL 9.3 版本创建数据库。
我有一些列列表的下表测试。
create table test
(
cola varchar(10),
colb varchar(10),
colc varchar(10),
cold varchar(10)
);
现在我想在某些列上创建索引。
例如:
我想为列 cola 和 colb 创建聚集索引。
我想为列 colc 和 cold 创建非聚集索引。
当我提到 this 和 this 时,我知道 PostgreSQL 中没有聚集索引和非聚集索引。
我的问题:我可以使用什么类型的索引来代替 PostgreSQL 中的聚集索引和非聚集索引,与聚集索引和非聚集索引的作用相同?
【问题讨论】:
-
Postgres 中的每个索引都是“非聚集的”。 Postgres 没有聚集索引。如果您运行
create index,它将创建一个(非聚集)B-Tree 索引。为什么你认为没有非聚集索引? -
@a_horse_with_no_name,好的!我的错。但是如何创建聚集索引呢?
-
正如我所说:Postgres 没有聚集索引。所以你不能创建一个。为什么你认为你需要一个?
-
@a_horse_with_no_name,所以
create index在 PostgreSQL 中完成了这两项工作。 -
它只创建非聚集索引,因为 Postgres 没有聚集索引
标签: postgresql indexing postgresql-9.3