このトピックでは、キーパーティションテーブルを作成する方法について説明します。
構文
次のステートメントは、1つ以上のキーパーティションテーブルを作成するために使用されます。
CREATE TABLE [スキーマ] 。 ] table_name
table_definition
PARTITION BY [LINEAR] KEY(column_list) [PARTITIONS number]
(partition_definition [, partition_definition] ...);
partition_definitionは次のとおりです。
PARTITION partition_name
パラメーター
パラメーター | 説明 |
column_list | パーティションキー列のリスト。 0以上のパーティションキー列を指定できます。 サポートされているデータ型は、INT、文字列型、DATE、TIME、およびDATETIMEです。 |
partition_name | パーティションの名前。 名前はテーブル内で一意である必要があります。 |
数値 | キーパーティションの数。 |
説明
キーパーティションはハッシュパーティショニングに似ており、MySQLと同じハッシュアルゴリズムを使用します。
キーパーティションとハッシュパーティションの違い:
キーパーティションにパーティションキー列を指定できません。 この場合、デフォルトでは主キー列がパーティションキー列として使用されます。 パーティションキー列が指定されていない場合、パーティションは一意のキーに基づいて実行されます。
キーパーティションは、複数のパーティションキー列をサポートします。
KEYパーティションは、INT、文字列型、DATE、TIME、およびDATETIMEのデータ型をサポートします。
キーパーティションは、LINEAR Keyの拡張データ型をサポートします。
例
キー分割テーブルを作成する:
テーブルの作成sales_key
(
s_id varchar(20) 、
dept_no INT、
part_no INT,
国varchar(20) 、
日付,
金額INT、
PRIMARYキー (s_id)
) PARTITION by key (s_id)
パーティー11;
線形キー分割テーブルを作成する:
CREATE TABLE sales_linear_key
(
s_id varchar(20) 、
dept_no INT、
part_no INT,
国varchar(20) 、
日付,
金額INT、
PRIMARYキー (s_id)
) PARTITION byリニアキー (s_id)
パーティー11;