閱讀489 返回首頁    go 阿裏雲


hash分區__分區_SQL語法參考_雲數據庫 OceanBase-阿裏雲

語法

HASH 分區將要被哈希的列指定一個列值或表達式,以及指定被分區的表將要被分割成的分區數量,OceanBase自動完成分區。

 ...
 PARTITION BY HASH (expr)
     PARTITIONS num

要使用 HASH 分區來分割一個表,要在 CREATE TABLE 語句上添加一個“PARTITION BY HASH (expr)”子句,其中“expr”是一個返回一個整數的表達式。它可以僅僅是字段類型為 OceanBase 整型的一列的名字。此外,你很可能需要在後麵再添加一個“PARTITIONS num”子句,其中 num 是一個非負的整數,它表示表將要被分割成分區的數量。

舉例

也許你想基於雇用雇員的年份來進行分區。這可以通過下麵的語句來實現:

CREATE TABLE employees (
 id INT NOT NULL,
 fname VARCHAR(30),
 lname VARCHAR(30),
 hired DATE NOT NULL DEFAULT '1970-01-01',
 separated DATE NOT NULL DEFAULT '9999-12-31',
 job_code INT,
 store_id INT
 )
 PARTITION BY HASH(YEAR(hired))
     PARTITIONS 4;

使用場景

HASH分區主要用來確保數據在預先確定數目的分區中平均分布。

最後更新:2016-11-24 11:23:47

  上一篇:go range分區__分區_SQL語法參考_雲數據庫 OceanBase-阿裏雲
  下一篇:go key分區__分區_SQL語法參考_雲數據庫 OceanBase-阿裏雲