ActiveRecordでon memory sqliteを使う

http://jamis.jamisbuck.org/articles/2005/10/03/easy-activerecord-scripts

ふつーsqliteってDBのデータをファイルに書き出して使うんだけど、メモリ上にデータを置いてつかう事もできる。で、その方法がARだと驚くほど簡単。

  ActiveRecord::Base.establish_connection(
    :adapter => "sqlite",
    :dbfile  => ":memory:" 
  )

とdbfileに":memory"と指定するだけ!知らなかった…。ということで早速ファイルとメモリでベンチマークとってみたり。shared memory(/dev/shm)もおまけに。つかったソースhttp://rails2u.com/tmp/ar_sqlite.rb.txt に。

              user     system      total        real
file      1.780000   0.660000   2.440000 (  4.421818)
memory    1.560000   0.180000   1.740000 (  1.738902)
shm       1.690000   0.270000   1.960000 (  1.962140)

おお、memory速っ。MockDBをsqliteにしてtest書いてる人にはいいかもだよなぁ。実行後ファイルが残らないのもいいし。