このトピックでは、ハッシュパーティションテーブルを作成する方法について説明します。
構文
次のステートメントは、1つ以上のハッシュ分割テーブルを作成するために使用されます。 データは、ハッシュ規則に基づいて分割される。 式を使用して、パーティションキー列の値を処理できます。
テーブルを作成... PARTITION BY [LINEAR] HASH(expr) [PARTITIONS number]
(PARTITION partition_name1、
PARTITION partition_name2,...);
パラメーター
パラメーター | 説明 |
expr | パーティションの式。 INTタイプである必要があります。 string型はサポートされていません。 |
数値 | ハッシュパーティションの数。 |
partition_name | パーティションの名前。 名前はテーブル内で一意である必要があります。 |
説明
ハッシュアルゴリズムは、パーティションの数に対してモジュロ演算を実行する。
Hashパーティションは、LINEAR HASHの拡張データ型をサポートします。 LINEAR HASHは、LINEAR HASHが線形、二次、または指数アルゴリズムを使用し、HASHがハッシュ関数の値のモジュラスを使用するという点で、HASHとは異なります。 構文上、LINEAR HASHとHASHの唯一の違いは、キーワードがLINEAR HASHのPARTITION BY句に追加されていることです。
例
ハッシュ分割テーブルを作成する:
CREATE TABLE sales_hash
(
s_id INT,
dept_no INT、
part_no INT,
国varchar(20) 、
日付,
金額INT、
PRIMARYキー (s_id)
) PARTITION by HASH (s_id)
パーティー7;
線形ハッシュ分割テーブルを作成する:
CREATE TABLE sales_linear_hash
(
s_id INT,
part_no INT,
国varchar(20) 、
日付,
金額INT、
PRIMARYキー (s_id)
) PARTITION by LINEAR HASH (s_id)
パーティー7;