3つの方法でデータベースのエンジンを変更
718 ワード
1.直接alter table
この方法が最も簡単ですが、MySQLは古いテーブルから新しいテーブルへの逐行コピーを実行するため、ビッグデータのテーブルには時間がかかります.また、alter table操作では、どのエンジンでもMySQLはテーブル全体にロックされます.
2.dumpとsourceの利用
まずdumpに必要なテーブルを作成し、dumpファイルを変更し、DROP TABLEを削除してCREATE TABLEコードを変更し、sourceを実行します.
この方法ではオンラインでエンジンを修正することはできません.データベースをオフラインにする必要があります.またはオンラインで変更して同期します.
3.CREATEとSELECTを利用する
この方式ではテーブルのデータ量が比較的大きい場合、バッチで範囲に応じて注ぐことができ、myTableはロックされません.
ALTER TABLE youTable ENGINE=InnoDB;
この方法が最も簡単ですが、MySQLは古いテーブルから新しいテーブルへの逐行コピーを実行するため、ビッグデータのテーブルには時間がかかります.また、alter table操作では、どのエンジンでもMySQLはテーブル全体にロックされます.
2.dumpとsourceの利用
まずdumpに必要なテーブルを作成し、dumpファイルを変更し、DROP TABLEを削除してCREATE TABLEコードを変更し、sourceを実行します.
この方法ではオンラインでエンジンを修正することはできません.データベースをオフラインにする必要があります.またはオンラインで変更して同期します.
3.CREATEとSELECTを利用する
CREATE TABLE myTableCopy LIKE myTable;
ALTER TABLE myTableCopy ENGINE=InnoDB;
INSERT INTO myTableCopy SELECT * FROM myTable WHERE id BETWEEN x AND y;
この方式ではテーブルのデータ量が比較的大きい場合、バッチで範囲に応じて注ぐことができ、myTableはロックされません.