- 大きなinnodb_buffer_pool_size(2GB以上)を設定する
- シェルコマンドを使用して古いmyisamデータ/インデックスファイルを先読みする
- innodb_log_file_sizeを増やす(256 MB)
- X並列スレッドでテーブルの変更を実行します。Xはサーバー上のCPUコアの数です
- 変換専用のその他のマイナーな調整(innodb_doublewrite =0、innodb_flush_log_at_trx_commit =0)
innodb_buffer_pool_sizeをできるだけ高く設定することは、innodbテーブルの作成を高速化する一般的な方法です。データセットは2GBのinnodbバッファープール内に収まるように見えるため、適切な64ビットサーバーであればそれを許可する必要があります。 alter table type =innodbは、dump + reimportソリューションよりも高速であり、並行して実行するのも簡単です。
また、innodb_log_file_sizeをデフォルトの5Mbから128または256MBに増やしたことを確認してください。それに注意してください。クリーンなシャットダウンと古いib_logfile*の消去が必要です。
サーバーに8GBのRAMがあり、64ビットバージョンのmysqlを実行している場合は、2GBのinnodb_buffer_poolをお勧めします。また、ダウンタイムのために閉じる前に、古いMYDファイルとMYIファイルを事前に読み取ることもできます。実際の作業開始時のOSのページキャッシュ。
マイナーな調整も行う場合は、データを安全に保つために、変換後に元に戻す必要があることを覚えておいてください(別の小さなダウンタイム)。ただし、このような小さなデータセットには価値があるとは思えません。
頑張ってください。