• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【android】SQLiteについて質問です)

【Android】SQLiteについての質問!数万行のインサート文でエラーが発生

このQ&Aのポイント
  • Androidでデータベースアプリを開発中。数万行のインサート文を書いているが、エラーが発生している。
  • エラーの原因は数万行にも渡るインサート文が原因かもしれない。
  • 解決方法がわかる方がいれば教えてほしい。

質問者が選んだベストアンサー

  • ベストアンサー
  • mpro-gram
  • ベストアンサー率74% (170/228)
回答No.1

android はメモリーが少ないから、数万行のデータをプログラム内に全部ベタ書きしたら、パンクするでしょうねえ。android で無くてもパンクしそうな行数です。 tsv ファイルにデータを保持して、1行読み込みつつinsert をループ処理していくのが、メモリを喰わないで済むと思います。 あと、prepared statementを使って、insert文を記述する。 android の データベース接続クラスはよくわからないけど、SQLiteは prepared statementに対応しているから、prepareという名前のついたメソッドが有るはず。データの設定と、execute発行方法は、データベース接続クラスのAPIを調べてください。 それから、SQLiteでの大量insertは transaction 内で行わないと、実行時間も半端なくかかるようになります。

ayahumohumo
質問者

お礼

おかげさまで実装することができました。ありがとうございます!

関連するQ&A