本文檔介紹了建立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;