1

マシンでいくつかの単体テストと統合テストを実行しています。このテスト環境では、データの整合性は重要ではありません。データがディスクに書き込まれるかどうかは気にしません。テストを高速にしたいだけです。

InnoDB が完全に RAM で動作するように有効にできるオプションはありますか?

4

2 に答える 2

1

いくつかのオプション:

  • データをメモリファイルシステムに移動します(たとえば、Linuxボックスの/ dev / shmにあるデータやログなどを移動します)
  • libeatmydataを使用してfsync()をno-opにします
于 2012-07-05T17:02:19.520 に答える
1

テーブル タイプを InnoDB ではなく MEMORY に変更する以外に、innodb_flush_log_at_trx_commit設定を使用することで挿入と更新を大幅に高速化できます。

1 ではなく 2 に設定すると、挿入と更新が 10 倍以上速くなります。事実上、これにより InnoDB は、すべてのトランザクション コミットではなく、1 秒ごとにトランザクション ログに fsync() データを送信します。

別のオプションは、より大きなトランザクションを使用することです (特に、大量のデータを挿入し、現在自動コミットを使用している場合)。

于 2012-07-05T17:08:28.920 に答える