Background information

A Cluster in Oracle is a table that shares a common column and stores related data in the same block. When a Cluster table is used, a single data block can contain rows from multiple tables. This reduces disk IO for tables where Joins frequently occur.

Tables that share columns are not supported in PolarDB-O, but PolarDB-O provide the ability to reorganize heap table data by a particular index.


Cluster syntax
CLUSTER [VERBOSE] table_name [ USING index_name ]

The Cluster adjusts the order of the physical storage of the data and re-sorts the data by the specified index. Note that the Cluster operation is one-time, and will not automatically adjust for subsequent table changes.


#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: