事前に書き込むデータが決まっている場合(例えば、CSVからDBに入れる場合など)に早くする方法
一度In MemoryのSQLiteのDBを作成し、その中にデータを展開する
その後、SQLiteのBackupを使用して、DBの中身をファイルに書き出す
Rubyの場合は以下のサンプルコートが使える
http://www.rubydoc.info/github/luislavena/sqlite3-ruby/SQLite3/Backup
この方法は行数が多いデータ等には向いている
手元だと1500万レコードを追加するのに6時間ほどかかっていたのが
上記の方法を使って20分ほどに短縮することができた
要は、単純にdbへのwriteが遅かったってことだろうね