本文介紹Cluster的語法并給出相關(guān)示例。

背景說明

Oracle中的 Cluster是一種共享公共列,在相同塊中存儲(chǔ)相關(guān)數(shù)據(jù)的表。當(dāng)使用Cluster表時(shí),單個(gè)數(shù)據(jù)塊可以包含來自多個(gè)表的行,對(duì)于經(jīng)常發(fā)生連接的表可以減少磁盤IO。

在PolarDB O引擎中不支持共享列的表,但PolarDB O引擎提供按某一個(gè)特定索引重新組織堆表數(shù)據(jù)的能力。

解決方案

Cluster語法
CLUSTER [VERBOSE] table_name [ USING index_name ]

Cluster會(huì)對(duì)數(shù)據(jù)的物理存儲(chǔ)順序進(jìn)行調(diào)整,重新按照指定索引進(jìn)行排序。注意Cluster是一次性操作,后續(xù)對(duì)于表的更改不會(huì)自動(dòng)調(diào)整。

示例

#Cluster the table employees on the basis of its index employees_ind:
CLUSTER employees USING employees_ind;

#Cluster the employees table using the same index that was used before:
CLUSTER employees;

#Cluster all tables in the database that have previously been clustered:
CLUSTER;