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

PolarDB:ハッシュ-ハッシュ

最終更新日:Mar 29, 2026

ハッシュ-ハッシュパーティショニングは、ハッシュ関数を使用してテーブルをパーティションに分割し、さらに 2 番目のハッシュ関数を使用して各パーティションをサブパーティションに分割します。

構文

CREATE TABLE [schema.]table_name
  table_definition
  PARTITION BY [LINEAR] HASH(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 値を返す必要があります。文字列型はサポートされていません。
numパーティションの数。ハッシュパーティションまたはキーパーティションにのみ有効です。
sub_numサブパーティションの数。ハッシュサブパーティションまたはキーサブパーティションにのみ有効です。
partition_nameパーティションの名前。テーブル内で一意である必要があります。
subpartition_nameサブパーティションの名前。テーブル内で一意である必要があります。

サブパーティションの暗黙的な命名

最も簡単な形式では、PolarDB がサブパーティションに自動的に名前を付けます。

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