すべてのプロダクト
Search
ドキュメントセンター

PolarDB:KEY-HASH

最終更新日:Mar 29, 2026

KEY-HASH パーティショニングは、KEY プライマリパーティションと HASH サブパーティションを組み合わせた方式です。行はまず KEY によってパーティションにルーティングされ、その後、各パーティション内で HASH によってさらに分割されます。

構文

CREATE TABLE [schema.]table_name
  table_definition
  PARTITION BY [LINEAR] KEY(expr) [PARTITIONS num]
  SUBPARTITION BY [LINEAR] HASH(expr) [SUBPARTITIONS sub_num]
  (partition_definition [, partition_definition] ...)

partition_definition

PARTITION partition_name
  (subpartition_definition [, subpartition_definition] ...)

subpartition_definition

SUBPARTITION subpartition_name

パラメーター

パラメーター説明
table_nameテーブル名。
exprパーティション式。INT 型である必要があります。文字列型はサポートされていません。
partition_nameパーティション名。テーブル内で一意である必要があります。
subpartition_nameサブパーティション名。テーブル内で一意である必要があります。

3 つの KEY パーティションを持ち、それぞれに 2 つの HASH サブパーティションを含むキーハッシュパーティションテーブルを作成します。

CREATE TABLE sales_key_hash
(
  dept_no  VARCHAR(20),
  part_no  INT,
  country  VARCHAR(20),
  date     DATE,
  amount   INT
)
  PARTITION BY KEY(dept_no) PARTITIONS 3
  SUBPARTITION BY HASH(part_no) SUBPARTITIONS 2;

このテーブルには合計 6 つのサブパーティションがあります(3 パーティション × 2 サブパーティション)。行はまず dept_no(KEY)によって分散され、その後、各パーティション内で HASH によってさらに分割されます。