HASH
更新時(shí)間:
本文檔介紹了創(chuàng)建HASH分區(qū)表的方法。
語(yǔ)法
創(chuàng)建HASH分區(qū)表。把數(shù)據(jù)按照哈希規(guī)則打散到不同的分區(qū)上,支持表達(dá)式來(lái)對(duì)分區(qū)列的值進(jìn)行處理。
CREATE TABLE ... PARTITION BY [LINEAR] HASH(expr) [PARTITIONS number]
( PARTITION partition_name1,
PARTITION partition_name2,...);
參數(shù)
參數(shù)名稱 | 參數(shù)說(shuō)明 |
expr | 分區(qū)字段表達(dá)式,目前只支持INT類型,不支持字符類型。 |
number | HASH分區(qū)數(shù)量。 |
partition_name | 分區(qū)名稱,同一個(gè)表中不可重復(fù)。 |
描述
HASH算法是按照對(duì)分區(qū)個(gè)數(shù)取模。
HASH分區(qū)支持?jǐn)U展類型LINEAR HASH。LINEAR HASH與HASH的不同之處在于,LINEAR HASH使用線性二次冪算法,而HASH使用散列函數(shù)值的模數(shù)。在語(yǔ)法上,LINEAR HASH和HASH的唯一區(qū)別是LINEAR在PARTITION BY子句中添加了關(guān)鍵字。
示例
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;
文檔內(nèi)容是否對(duì)您有幫助?