阅读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-阿里云