2010-07-06 22 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),您還可以創建一個新索引,然後在該新索引上進行聚類,然後刪除索引。