全部產品
Search
文件中心

PolarDB:KEY

更新時間:Jul 06, 2024

本文檔介紹了建立KEY分區表的方法。

文法

建立KEY分區表。

CREATE TABLE [ schema. ]table_name
 table_definition
   PARTITION BY [LINEAR] KEY(column_list) [PARTITIONS number]
   (partition_definition [, partition_definition] ...);

其中,partition_definition為

 PARTITION partition_name

參數

參數名稱

參數說明

column_list

分區欄位列表。支援0個或多個,支援INT類型、字元類型、DATE類型、TIME類型、DATETIME類型。

partition_name

分區名稱,同一個表中不可重複。

number

KEY分區數量。

描述

KEY分區與HASH分區類似,也是按照HASH演算法進行分區,採用與MySQL相同的HASH演算法。

KEY分區與HASH分區的區別在於:

  • KEY分區可以沒有分區欄位,沒有分區欄位時,預設將主鍵欄位作為分區鍵。如果沒有主鍵欄位時,則按照唯一鍵進行分區。

  • KEY分區支援多列分區欄位。

  • KEY分區支援INT類型、字元類型、DATE類型、TIME類型、DATETIME類型。

  • KEY分區支援擴充類型LINEAR KEY。

樣本

KEY類型的使用樣本:

CREATE TABLE sales_key
(
  s_id        varchar(20),
  dept_no     INT,
  part_no     INT,
  country     varchar(20),
  date        DATE,
  amount      INT,
  PRIMARY KEY(s_id)
)PARTITION by key (s_id)
PARTITIONS 11;

LINEAR KEY類型的使用樣本:

CREATE TABLE sales_linear_key
(
  s_id        varchar(20),
  dept_no     INT,
  part_no     INT,
  country     varchar(20),
  date        DATE,
  amount      INT,
  PRIMARY KEY(s_id)
)PARTITION by linear key (s_id)
PARTITIONS 11;