MySQL 8.0 リファレンスマニュアル


MySQL 8.0 リファレンスマニュアル  /  ...  /  InnoDB DDL 操作の最適化

8.5.7 InnoDB DDL 操作の最適化

  • テーブルおよびインデックス (CREATEALTER および DROP ステートメント) に対する多くの DDL 操作は、オンラインで実行できます。 詳細は、セクション15.12「InnoDB とオンライン DDL」を参照してください。

  • セカンダリインデックスを追加するためのオンライン DDL サポートとは、通常、セカンダリインデックスのないテーブルを作成してからデータのロード後にセカンダリインデックスを追加することで、テーブルおよび関連するインデックスの作成およびロードのプロセスを高速化できることを意味します。

  • テーブルを空にするには DELETE FROM tbl_name ではなく、TRUNCATE TABLE を使用します。 外部キー制約により、TRUNCATE ステートメントを通常の DELETE ステートメントのように動作させることができます。その場合、DROP TABLECREATE TABLE のようなコマンドのシーケンスがもっとも速くなる可能性があります。

  • 主キーは、各 InnoDB テーブルのストレージレイアウトに不可欠であり、主キーの定義の変更には、テーブル全体の再編成が必要であるため、常に主キーを CREATE TABLE ステートメントの一部としてセットアップし、あとで主キーを ALTER または DROP する必要がないように、事前に計画してください。


関連キーワード:  テーブル, InnoDB, インデックス, ステートメント, 結合, クエリー, 状態, データ, データベース, 操作