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

PolarDB:レンジ-ハッシュ

最終更新日:May 24, 2024

このトピックでは、range-hashパーティションテーブルを作成する方法について説明します。

構文

次のステートメントは、1つ以上のrange-hashパーティションテーブルを作成するために使用されます。 パーティションはRANGE [COLUMNS] タイプです。 サブパーティションはHASHまたはKEYタイプです。

CREATE TABLE [スキーマ] 。 ] table_name
 table_definition
   レンジによるパーティー {(expr) COLUMNS(column_list)}
   SUBPARTITION BY {[LINEAR] HASH(expr) [SUBPARTITIONS number]
    [LINEAR] キー [ALGORITHM={1 2}] (column_list)}
   (partition_definition [, partition_definition] ...); 

partition_definitionは次のとおりです。

PARTITION partition_name
        {(expr value_list) MAXVALUE} より少ない値
        (subpartition_definition [, subpartition_definition] ...) 

subpartition_definitionは次のとおりです。

サブパーティション_名

パラメーター

パラメーター

説明

expr

パーティションの式。 INTタイプである必要があります。 string型はサポートされていません。

column_list

パーティションキー列のリスト。 式はサポートされていません。

数値

サブパーティションの数。

value

パーティションの境界値。

value_list

パーティションの境界値のリスト。 それはRANGE COLUMNS() で使用されます。

MAXVALUE

パーティションの最大値。

partition_name

パーティションの名前。 名前はテーブル内で一意である必要があります。

subpartition_name

サブパーティションの名前。 名前はテーブル内で一意である必要があります。

range-hashパーティションテーブルを作成します。

CREATE TABLE sales_range_hash
(
  s_id varchar(20) 、
  dept_no INT、
  part_no INT,
  国varchar(20) 、
  日付,
  金額INT、
  主キー (s_id, date)
)
RANGE COLUMNSによるパーティー (日付)
SUBPARTITION BY KEY(s_id) SUBPARTITIONS 3
(
  パートp1の値は以下 ('2023-01-01 ') 、
  PARTITION p2の値は未満 ('2023-02-01 ') 、
  PARTITION p3はより少ない値 ('2023-03-01 ') 、
  PARTITION p4はより少ない値 ('2023-04-01 ')
);