このトピックでは、list-hashパーティションテーブルを作成する方法について説明します。
構文
次のステートメントは、1つ以上のリストハッシュ分割テーブルを作成するために使用されます。 パーティションはLIST [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
VALUES IN ( value_list)
(subpartition_definition [, subpartition_definition] ...)
partition_definitionは次のとおりです。
サブパーティション_名
パラメーター
パラメーター | 説明 |
expr | パーティションの式。 INTタイプである必要があります。 string型はサポートされていません。 |
数値 | サブパーティションの数。 |
column_list | パーティションキー列のリスト。 式はサポートされていません。 |
value_list | パーティションの境界値のリスト。 |
partition_name | パーティションの名前。 名前はテーブル内で一意である必要があります。 |
subpartition_name | サブパーティションの名前。 名前はテーブル内で一意である必要があります。 |
例
リストハッシュ分割テーブルを作成します。
CREATE TABLE sales_list_hash
(
dept_no INT、
part_no INT,
国varchar(20) 、
日付,
金額INT
)
リストによるパーティー (金額)
サブパーティション2 HASHによるサブパーティション (dept_no)
(
(1、2) のPARTITION p0値、
(3、4) のパートp1値、
(5、6) のパートp2値
);
リスト列-ハッシュ分割テーブルを作成します。
テーブルの作成sales_list_columns_hash
(
dept_no INT、
part_no INT,
国varchar(20) 、
日付,
金額INT
)
リストコラムによるパーティー (国)
SUBPARTITION BY HASH(dept_no) SUBPARTITION 2
(
(「フランス」、「イタリア」) のPARTITIONヨーロッパ値、
('INDIA' 、'PAKISTAN') のPARTITION asia値、
('US '、'CANADA') のPARTITION americas VALUES
);