2012-07-05 81 views
1

我正在我的機器上運行一些單元和集成測試。在這個測試環境中,數據完整性無關緊要。我不在乎數據是否寫入光盤,我只想讓我的測試速度很快。InnoDB在測試環境中的性能

有沒有我能啓用的選項,InnoDB完全在RAM中運行?

回答

1

除了將表類型內存而不是InnoDB的,你可以通過使用innodb_flush_log_at_trx_commit設置使插入和更新顯著更快。

設置爲2而不是1可以輕鬆地使插入和更新速度提高10倍或更多。實際上,這導致InnoDB每秒都會將數據fsync()數據傳輸到事務日誌,而不是每次事務提交。

另一種選擇是隻使用更大的事務(尤其是如果您插入大量數據並使用自動提交)。

1

一些選項:

  • 移動在內存文件系統的數據(例如移動在Linux中的數據,日誌等中的/ dev/shm的)
  • 製作的fsync()無操作與libeatmydata