2010-07-06 45 views
0

假设我在(a,b,c)上有一个索引,并对该索引执行CLUSTER。数据如何存储?我会假设它是这样的(只是猜测):首先按a排序,然后按b排序,然后按c排序。例如:多列索引上的PostgreSQL CLUSTER

(a, b, c) 
--------- 
(1, 1, 1) 
(1, 1, 2) 
(1, 2, 5) 
(2, 1, 4) 
(3, 1, 1) 

这意味着,如果我想拥有它下令B首先,我可以删除索引,重新创建为(B,A,C),然后CLUSTER?

回答

2

是,CLUSTER按照索引的顺序重新创建表。要获得(b,a,c),您还可以创建一个新索引,然后在该新索引上进行聚类,然后删除索引。