sql >> データベース >  >> RDS >> SQLite

SQLiteStatementはSELECT/INSERT / DELETE/UPDATEを実行します

    execute おそらくexecuteInsertより速くはありません 、さらに遅くなる可能性があります(ICS execute executeUpdateDeleteを呼び出します 戻り値を破棄します)。それをテストする必要がありますが、ここで本当の違いが見つかるとは思えません。

    AFAIK、executeだけを使用しても安全です 戻り値は必要ありませんが、将来のAndroidバージョンでそれが当てはまるとは思いません。ドキュメントには「いいえ」と書かれているので、誰かがそれを反映するように動作を変更しようとしている可能性があります。古い実装ではexecuteを使用しているようです あまりにも(例:2.1 delete() ソースコード)。たとえば、Jelly BeanはSQLiteの舞台裏で大きく変更されましたが、executeを使用する場合でも機能するはずです。

    また、同じSQLiteStatementを使用しない場合 argsを再バインドしている間、何度も何度もそれを使用する価値はないでしょう。通常のinsertを呼び出すたびに新しいものを作成します 、update 、...メソッドは、実際のデータベースアクセスおよび必要なディスクI/Oと比較して高速です。一方、各ステートメントのディスク上のデータベース状態の同期は非常に遅いため、トランザクションは非常に役立ちます。



    1. Docker、Java Spring、JDBCを使用したMariaDBの使用開始

    2. SQLServer2017の復元

    3. 要素番号を持つPostgreSQLunnest()

    4. MicrosoftAccessがビジネスに役立つ7つの方法