HASH-KEY は、ハッシュ方式のプライマリパーティションとキー方式のサブパーティションを組み合わせたコンポジット・パーティショニング戦略です。
ハッシュパーティション:行を
exprの値に基づいて分散します。ここで、exprは整数型の式である必要があります。キー方式のサブパーティション:各パーティション内で、指定された列リストに基づいて行を分散します。
構文
CREATE TABLE [schema.]table_name
table_definition
PARTITION BY [LINEAR] HASH(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 | HASH 句のパーティション式です。INT 型である必要があります。文字列型はサポートされていません。 |
partition_name | パーティションの名前です。テーブル内で一意である必要があります。 |
subpartition_name | サブパーティションの名前です。テーブル内で一意である必要があります。 |
例
以下の例では、dept_no を基準に 3 つの HASH パーティションを、country を基準に 2 つの KEY サブパーティションを設定したコンポジット・パーティションテーブルを作成しています。
CREATE TABLE sales_hash_key
(
dept_no INT,
part_no INT,
country VARCHAR(20),
date DATE,
amount INT
)
PARTITION BY HASH(dept_no) PARTITIONS 3
SUBPARTITION BY KEY(country) SUBPARTITIONS 2
;