本文档介绍了创建KEY分区表的方法。
语法
创建KEY分区表。
CREATE TABLE [ schema. ]table_name
table_definition
PARTITION BY [LINEAR] KEY(column_list) [PARTITIONS number]
(partition_definition [, partition_definition] ...);
其中,partition_definition为
PARTITION partition_name
参数
参数名称 | 参数说明 |
column_list | 分区字段列表。支持0个或多个,支持INT类型、字符类型、DATE类型、TIME类型、DATETIME类型。 |
partition_name | 分区名称,同一个表中不可重复。 |
number | KEY分区数量。 |
描述
KEY分区与HASH分区类似,也是按照HASH算法进行分区,采用与MySQL相同的HASH算法。
KEY分区与HASH分区的区别在于:
KEY分区可以没有分区字段,没有分区字段时,默认将主键字段作为分区键。如果没有主键字段时,则按照唯一键进行分区。
KEY分区支持多列分区字段。
KEY分区支持INT类型、字符类型、DATE类型、TIME类型、DATETIME类型。
KEY分区支持扩展类型LINEAR KEY。
示例
KEY类型的使用示例:
CREATE TABLE sales_key
(
s_id varchar(20),
dept_no INT,
part_no INT,
country varchar(20),
date DATE,
amount INT,
PRIMARY KEY(s_id)
)PARTITION by key (s_id)
PARTITIONS 11;
LINEAR KEY类型的使用示例:
CREATE TABLE sales_linear_key
(
s_id varchar(20),
dept_no INT,
part_no INT,
country varchar(20),
date DATE,
amount INT,
PRIMARY KEY(s_id)
)PARTITION by linear key (s_id)
PARTITIONS 11;