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

PolarDB:KEY-KEY

最終更新日:Mar 29, 2026

KEY-KEY パーティションテーブルは、プライマリパーティションおよびサブパーティションの両方に対して KEY パーティショニングを採用する複合パーティション(コンポジット・パーティション)形式であり、各プライマリパーティションが第 2 の KEY 式を用いてさらにサブパーティションに分割されます。

構文

CREATE TABLE [schema.]table_name
  table_definition
    PARTITION BY [LINEAR] KEY(expr) [PARTITIONS num]
    SUBPARTITION BY [LINEAR] KEY(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サブパーティション名です。テーブル内で一意である必要があります。

以下の例では、dept_no をキーとして 3 つのプライマリパーティションを作成し、各パーティションを part_no をキーとして 2 つのサブパーティションに分割します。これにより、合計で 6 個のサブパーティション(3 × 2 = 6)が作成されます。

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

注意事項

  • INT 型のみ対応expr 列は、PARTITION BY KEY および SUBPARTITION BY KEY のいずれにおいても INT 型である必要があります。文字列型の列はサポートされていません。

  • 名前の一意性: パーティション名およびサブパーティション名の両方が、テーブル内で一意である必要があります。

  • LINEAR オプション: 線形ハッシュ化アルゴリズムを使用する場合は、LINEAR キーワードを指定します。