タグ

ブックマーク / narazoro.hatenablog.com (1)

  • SQLiteでINSERTが激しく遅い件 - なら@はてなブログ

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

    SQLiteでINSERTが激しく遅い件 - なら@はてなブログ
    mikurass
    mikurass 2020/06/26
  • 1