Skip to content

哈希分区

HASH分区主要用来确保数据在预先确定数目的分区中平均分布。在RANGE和LIST分区中,必须明确指定一个给定的列值或列值集合应该保存在哪个分区中;而在HASH分区中,数据库系统自动完成这些工作,用户要做的是指定被哈希的列值,以及分区数量。

说明:

哈希分区表无异常分区,且不可增加分区或删除分区。

语法格式

sql
hash_partitioning_clause::=
    PARTITION BY HASH (col_list) PARTITIONS ICONST
|   PARTITION BY HASH (col_list) PARTITIONS (name_list)

参数说明

  • PARTITION BY HASH:关键字,用于指定使用哈希分区。
  • col_list:一个或多个列的列表,用于分区的列。
  • PARTITIONS:关键字,用于指定分区的数量。
  • ICONST:一个确定整数,系统将根据其值进行表分区划分。
  • name_list:分区名称的列表。

示例

创建5个哈希分区的分区表,分区名由系统默认。

sql
CREATE TABLE test_part3
(t_no INTEGER,t_name VARCHAR,t_address VARCHAR)
PARTITION BY HASH(t_no)
PARTITIONS 5;