問題:
インデックスを作成する必要があります
従来の知識 (2015):
5.6 より前の MySQL バージョンでは、進行中の操作を中断することなく、本番環境の大規模な MySQL テーブルでインデックスを作成します。 MyISAM または InnoDB テーブルは書き込み操作をブロックします。
MySQL 5.6 (2017) のオンライン インデックス更新:
MySQL 5.6 以降はオンライン インデックス更新をサポートしており、追加または読み取りまたは書き込みをブロックせずにインデックスを削除します。
ダウンタイムなしでスキーマを更新:
MySQL 5.6 以降を使用できない場合は、次の方法を使用してスキーマを更新できます。ダウンタイムなし:
Percona の pt-online-schema-change ツール:
このツールは、操作をブロックせずにテーブル スキーマを変更するための代替方法を提供します。必要な構造を持つ新しいテーブルを作成し、スキーマを変更し、元のテーブルからデータを徐々にコピーしてから置き換えます。
Amazon RDS:
Amazon RDSリードレプリカを作成し、レプリカでスキーマを変更し、レプリカを新しいマスターに昇格できるため、プロセスが簡素化されます。このアプローチにより、ダウンタイムが最小限に抑えられ、カットオーバー プロセスが簡素化されます。
以上がテーブルをロックせずに巨大な MySQL 本番テーブルにインデックスを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。