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

PolarDB:キー

最終更新日:Jun 03, 2024

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

構文

次のステートメントは、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;