0

私はコンテンツプロバイダを使用しているAndroidアプリケーションに取り組んでいます。私はのinsert()bulkInsert()のメソッドをオーバーライドしています。insert()とbulkInsert()の両方でbeginTransaction()とendTransaction()を使用する必要がありますか?

私はのinsert()bulkInsert()をさまざまなシナリオで使用します。 私が知っているbulkInsert()のinsert()を内部的に使用しています。

私はトランザクションをアトミックにする必要があります。私は両方のbulkInsertを挿入のbeginTransaction()ENDTRANSACTION()を使うべきでしょうか?

+0

修正スペルミスや文法。書式を改善する。 – Prune

+0

@Prune:スペルや文法、書式を修正する場所を教えてください。 –

+0

ああ!それはコミュニケーションの問題です。私のコメントはあなたの質問を編集したときに記録されたコメントです。あなたは何も修正する必要はありません。 Stack Overflow編集ソフトウェアは、「この人が私の投稿に何をしたのか」と尋ねる。それはあなたに直接向けられていません。私はこれを覚えようとします。 – Prune

答えて

0

あなたが大量のデータを挿入している場合、それはあなたがSQLiteの自体が暗黙のトランザクションですべてのクエリをラップすることを行わない場合は、そのため

BeginTransaction(); 
SetTransactionSuccessful(); 
EndTransaction(); 

を使用することが非常に重要です。 BeginTransaction()とEndTransaction()を使用すると、パフォーマンスを向上させることができます。詳細を読むhttps://medium.com/@JasonWyatt/squeezing-performance-from-sqlite-insertions-971aff98eef2

1つのレコードだけを使用している場合、BeginTransaction()とEndTransaction()は無視できます。

同様のポスト beginTransaction(), endTransaction(), and setTransactionSuccessful(). What exactly do they do?

関連する問題