RailsのDB書き込みがはげしくて重いテストをインメモリSQLite3でちょっと早くする
あらすじ
Rails4.2.4で最終的に20000レコード前後書き込むテストをしておりRamdiskにDB乗っけたら早くなるかしらと発狂していたところインメモリデータベースという存在を思い出してWikipediaったら燦然と輝くSQLiteの文字が。
結果
adapter | 秒 |
---|---|
postgresql | 76.11 |
sqlite3 (インメモリ) | 36.95 |
sqlite3 | 244.56 |
編集するファイル
group :test do
gem 'sqlite3'
end
test:
adapter: sqlite3
database: ":memory:"
pool: 5
timeout: 5000
# ActiveRecord::Migration.maintain_test_schema!以前に追加
load "#{Rails.root}/db/schema.rb"
感想
むずかしい変更なしで投入できてよかったです。