execute
おそらくexecuteInsert
より速くはありません 、さらに遅くなる可能性があります(ICS execute
executeUpdateDelete
を呼び出します 戻り値を破棄します)。それをテストする必要がありますが、ここで本当の違いが見つかるとは思えません。
AFAIK、execute
だけを使用しても安全です 戻り値は必要ありませんが、将来のAndroidバージョンでそれが当てはまるとは思いません。ドキュメントには「いいえ」と書かれているので、誰かがそれを反映するように動作を変更しようとしている可能性があります。古い実装ではexecute
を使用しているようです あまりにも(例:2.1 delete()
ソースコード)。たとえば、Jelly BeanはSQLiteの舞台裏で大きく変更されましたが、execute
を使用する場合でも機能するはずです。
また、同じSQLiteStatement
を使用しない場合 argsを再バインドしている間、何度も何度もそれを使用する価値はないでしょう。通常のinsert
を呼び出すたびに新しいものを作成します 、update
、...メソッドは、実際のデータベースアクセスおよび必要なディスクI/Oと比較して高速です。一方、各ステートメントのディスク上のデータベース状態の同期は非常に遅いため、トランザクションは非常に役立ちます。