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

PolarDB:交換パーティー

最終更新日:May 27, 2024

このトピックでは、EXCHANGE PARTITIONを使用して、パーティションテーブルのパーティションまたはサブパーティションを非パーティションテーブルと交換する方法について説明します。

構文

ALTER TABLE...EXCHANGE PARTITIONコマンドを使用して、パーティションテーブルのパーティションまたはサブパーティションを、パーティションテーブルと同じテーブルスキーマを持つ非パーティションテーブルと交換します。 構文:

ALTER TABLE target_table
EXCHANGE PARTITION target_partition
WITH TABLE source_table
[{WITH | WITHOUT} VALIDATION]; 

パラメーター

パラメーター

説明

target_table

宛先テーブルの名前。

target_partition

宛先パーティションの名前。

source_table

ソーステーブルの名前です。

ALTER TABLE...EXCHANGE PARTITIONコマンドを実行すると、target_partitionの行がsource_tableにスワップされ、source_tableの行がtarget_partitionにスワップされます。

WITHOUT VALIDATIONが指定されている場合、ALTER TABLE... 「INSTANT DDL」操作と同様に、パーティションを非パーティションテーブルと交換するとき、EXCHANGE PARTITION操作は行ごとの検証を実行しません。 これにより、データベース管理者は、行がパーティション定義の境界内にあることを確認する責任を負うことができます。

説明

EXCHANGE PARTITION操作を実行するときは、source_tabletarget_tableの構造、列、データ型、エンジン、テーブル属性、およびインデックスが同じであることを確認してください。

制限事項

INSTANT ADD COLUMNステートメントを使用してパーティションテーブルまたは非パーティションテーブルにフィールドを追加した場合、交換にはEXCHANGE partition構文を使用できません。

性能テスト

sales_listp0sales_list_tmpと交換します。

ALTER TABLE sales_list
  交換パーティーp0
  WITH TABLE sales_list_tmp;