0

ファイルから読み取る 31000 個の挿入 SQL ステートメントを処理していますが、完了するまでに 2 分以上かかります..パフォーマンスを改善するためのアドバイスが必要です..

コードは次のとおりです。

while((line=reader.readLine())!=null){

            dbs.execSQL(line);
            k=(int)(i*0.0032);
            if(k%10==0){fdb.publishProgress(k);}
            i++;
}
4

3 に答える 3

1

ここで説明した手法を使用してバッチ挿入を行います SQLite データベースで一度に複数の行を挿入することは可能ですか?

この手法を使用したクエリでは、一度に 500 行しか挿入できないことに注意してください。したがって、クエリごとに 500 レコードを含むクエリに 31000 レコードを挿入します。また、すべてのクエリの後、つまり 500 回の挿入ごとに進行状況を公開できます。

于 2013-08-24T10:32:09.243 に答える
1

m 処理中 31000 ファイルから読み取る SQL ステートメントを挿入すると、完了するまでに 2 分以上かかります..パフォーマンスを改善するためのアドバイスが必要です..

BufferedReaderファイルからの読み取りに実際に使用していない場合にできることは、使用することだけです。

また、SQLite数百、数千の挿入、更新、または削除ステートメントを処理している場合、トランザクションを使用するとパフォーマンスが急速に向上し、セキュリティなどの他の利点もあり、データベースの整合性が失われる危険はありません。

于 2013-08-24T10:24:05.347 に答える