MySQL でテーブルをロックせずに ALTER TABLE を実行する
ALTER TABLE ステートメントは通常、実行中にテーブル全体の読み取りロックを取得し、同時書き込み操作。これにより、大規模なテーブルのパフォーマンスに重大な影響が生じる可能性があります。幸いなことに、ALTER TABLE 操作中のテーブルのロックを回避する代替方法が存在します。
1 つの方法は、ALTER TABLE ステートメントを使用せずに必要な操作を手動で実行することです。これには、必要な列構造を持つ新しいテーブルを作成し、潜在的な同時変更を管理しながら既存のテーブルからデータを分割してコピーし、最後にテーブルの名前を変更して役割を交換することが含まれます。この方法は時間がかかり、エラーが発生しやすくなりますが、プロセス中にテーブルを継続的に更新できます。
従来の ALTER TABLE 操作がロックを取得する理由を理解するには、新しいフィールドの追加が次のようなものであることを認識することが重要です。テーブル内のすべての行を変更します。フィールド レベルのロックは非実用的であり、新しいフィールドに対応するためにレコードが再配置されると物理ファイル構造が変化します。事実上、これは大きな影響を与える包括的なテーブル全体の更新です。
以上がテーブルをロックせずに MySQL ALTER TABLE 操作を実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。