2010-07-06 6 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) 

Это означает, что, если я хочу, чтобы он заказал по б первых, я могу упасть индекс, воссоздавать его как (Ь, а, с), то кластерные?

ответ

2

Да, CLUSTER воссоздает таблицу в порядке индекса.

Чтобы получить (b, a, c), вы также можете создать новый индекс, затем сгруппировать по этому новому индексу, а затем удалить индекс.

Смежные вопросы