質問: ダンプファイルからのmysql復元を高速化するにはどうすればよいですか? mysqldumpファイルから30gbのデータベースを新しいサーバーの空のデータベースに復元しています。ダンプファイルからsqlを実行すると、復元は非常に速く開始され、その後、徐々に遅くなります。個々の挿入に15秒以上かかります。テーブルはほとんどが1つの小さなinnodbを持つmyisamです。サーバーには他にアクティブな接続がありません。 show processlist;は、復元からの挿入(およびshow processlist自体)のみを表示します。誰かが劇的な減速を引き起こしている可能性があるアイデアを持っていますか?進行中の復元を高速化するために変更できるmysql変数はありますか?
回答: プロセスを遅くしている可能性のあるものの1つは key_buffer_size です。これは、インデックスブロックに使用されるバッファのサイズです。 ram=の30%以上になるように調整してください。そうしないと、インデックスの再作成プロセスが遅くなる可能性があります。参考までに、innodbと外部キーを使用していた場合は、外部キーチェックを無効にして、最後に再度有効にすることもできます(set foreign_key_checks=0およびset foreign_key_checks=1を使用)。