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 によってさらに分割されます。