全部產品
Search
文件中心

PolarDB:HASH

更新時間:Jul 06, 2024

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