在创建已分区表时,指定 LIST、RANGE 或 HASH 分区规则。分区规则提供一组约束来定义存储在每个分区中的数据。向已分区表添加新行时,服务器使用分区规则来决定哪个分区应包含每行。

POLARDB for Oracle 还可以使用分区规则来实施分区修剪,从而提高响应用户查询时的性能。在为表选择分区类型和分区键时,您应该考虑如何查询存储在表中的数据,并在分区规则中包括经常查询的列。

按列表分区

在创建按列表分区的表时,指定单个分区键列。向表中添加行时,服务器将分区规则中指定的键值与行中的对应列进行比较。如果列值与分区规则中的值匹配,则该行将存储在规则中指定的分区中。

按范围分区

在创建按范围分区的表时,指定一个或多个分区键列。向表中添加新行时,服务器将分区键(或多个键)的值与表条目中的对应列(或多个列)进行比较。如果列值满足分区规则中指定的条件,则该行将存储在规则中指定的分区中。

哈希分区

在创建按哈希分区的表时,指定一个或多个分区键列。数据在指定的分区中划分为大小(大致)相等的分区。向按哈希分区的表中添加行时,服务器将计算指定的一列(或多列)中的数据的哈希值,然后根据哈希值将该行存储在分区中。

说明 在升级 POLARDB for Oracle 时,您必须在升级版的服务器上重新生成每个按哈希分区的表。

二级分区

二级分区将一个已分区表分为多个较小子集。所有子集都必须存储在同一数据库服务器群集中。表通常按一组不同的列进行二级分区,并可能是与父分区不同的二级分区类型。如果对一个分区进行了二级分区,则每个分区将至少具有一个二级分区。

如果对表进行了二级分区,则不会将数据存储在任何分区表中;数据将存储在对应的二级分区中。