本文檔介紹了建立HASH分區表的方法。
文法
建立HASH分區表。把資料按照雜湊規則打散到不同的分區上,支援運算式來對分區列的值進行處理。
CREATE TABLE ... PARTITION BY [LINEAR] HASH(expr) [PARTITIONS number]
( PARTITION partition_name1,
PARTITION partition_name2,...);
參數
參數名稱 | 參數說明 |
expr | 分區欄位運算式,目前只支援INT類型,不支援字元類型。 |
number | HASH分區數量。 |
partition_name | 分區名稱,同一個表中不可重複。 |
描述
HASH演算法是按照對分區個數模數。
HASH分區支援擴充類型LINEAR HASH。LINEAR HASH與HASH的不同之處在於,LINEAR HASH使用線性二次冪演算法,而HASH使用散列函數值的模數。在文法上,LINEAR HASH和HASH的唯一區別是LINEAR在PARTITION BY子句中添加了關鍵字。
樣本
HASH類型的使用樣本:
CREATE TABLE sales_hash
(
s_id INT,
dept_no INT,
part_no INT,
country varchar(20),
date DATE,
amount INT,
PRIMARY KEY(s_id)
)PARTITION by HASH (s_id)
PARTITIONS 7;
LINEAR HASH類型的使用樣本:
CREATE TABLE sales_linear_hash
(
s_id INT,
part_no INT,
country varchar(20),
date DATE,
amount INT,
PRIMARY KEY(s_id)
)PARTITION by LINEAR HASH (s_id)
PARTITIONS 7;