Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 26.8Mb
PDF (A4) - 26.9Mb
HTML Download (TGZ) - 7.2Mb
HTML Download (Zip) - 7.2Mb


MySQL 5.6 リファレンスマニュアル  /  ...  /  パーティション化された InnoDB テーブルに対するオンライン DDL

14.11.8 パーティション化された InnoDB テーブルに対するオンライン DDL

ALTER TABLE のパーティション化句を除き、パーティション化された InnoDB テーブルに対するオンライン DDL 操作は、通常の InnoDB テーブルに適用されるのと同じルールに従います。オンライン DDL のルールは、表14.5「DDL 操作のオンラインステータスのサマリー」で概説されています。

ALTER TABLE のパーティション化句は、通常のパーティション化されていない InnoDB テーブルと同じ内部のオンライン DDL API を経由せず、ALGORITHM=DEFAULT および LOCK=DEFAULT との組み合わせでのみ許可されます。

ALTER TABLE ステートメントで ALTER TABLE のパーティション化句を使用した場合、パーティション化されたテーブルは、ALTER TABLE COPY アルゴリズムを使用して再パーティション化されます。つまり、新しいパーティション化されたテーブルは、新しいパーティション化スキームで作成されます。新しく作成されたテーブルには ALTER TABLE ステートメントによって適用されたすべての変更が含まれ、テーブルデータが新しいテーブル構造にコピーされます。

ALTER TABLE のパーティション化句を使用してテーブルのパーティション化を変更しない場合、または ALTER TABLE ステートメントでほかの何らかのパーティション管理を実行した場合、ALTER TABLE は、各テーブルパーティションで INPLACE アルゴリズムを使用します。ただし、INPLACE ALTER TABLE 操作が各パーティションで実行されると、複数のパーティションで実行されている操作のために、システムリソースへの要求が増加することに注意してください。

ALTER TABLE ステートメントのパーティション化句が、通常のパーティション化されていない InnoDB テーブルと同じ内部のオンライン DDL API を経由しないにもかかわらず、MySQL は引き続き、可能な場合はデータコピーとロックを最小限に抑えようとします。

  • RANGE または LIST によってパーティション化されたテーブルに対する ADD PARTITION および DROP PARTITION では、どの既存のデータもコピーされません。

  • TRUNCATE PARTITION では、すべてのタイプのパーティション化されたテーブルについて、どの既存のデータもコピーされません。

  • 並列クエリーは、HASH または LIST によってパーティション化されたテーブルに対する ADD PARTITION および COALESCE PARTITION 中に許可されます。MySQL は、共有ロックを保持している間にデータをコピーします。

  • REORGANIZE PARTITIONREBUILD PARTITION、あるいは LINEAR HASH または LIST によってパーティション化されたテーブルに対する ADD PARTITION または COALESCE PARTITION では、並列クエリーが許可されます。影響を受けるパーティションからのデータは、テーブルレベルの共有メタデータ (読み取り) ロックを保持している間にコピーされます。

注記

InnoDB のパーティション化されたテーブルでは、全文検索 (FTS) と外部キーはサポートされていません。詳細は、セクション12.9.5「全文制限」およびセクション19.6.2「ストレージエンジンに関連するパーティショニング制限」を参照してください。