さて、表題そのまんまです。 で、残念ながら高度なチューニングなんかの話ではなく、おそらく基本的な話です。けど、知らないとハマるかも。 とあるAndroidアプリの開発で、テーブルに20万件ほどのレコードを登録しないといけなくなりました。 で、Androidアプリで使うDBはSQLiteなので、SQLiteでテーブルつくってINSERTをループさせる方法で実装。 くっそ遅い!! INSERT終わるまで1時間以上かかるんですわ。 で、ちょっとググってみたところ、SQLiteのINSERTメソッド、内部でトランザクション管理してるみたいです。 なので、以下のようにやっちゃうと20万回トランザクションを開始→コミットってやってて、そのコストが激しくバカにならない。 SQLiteDatabase dbh; // 適当にインスタンスを生成しておく for (int i = 0 ; i < 200000