sql >> Database >  >> RDS >> SQLite

SQLiteStatement voer een SELECT / INSERT / DELETE / UPDATE uit

execute is waarschijnlijk niet sneller dan executeInsert , kan zelfs langzamer zijn (op ICS execute roept executeUpdateDelete . op en negeert de retourwaarde). Je moet dat testen, maar ik betwijfel of je hier een echt verschil zult vinden.

AFAIK, het is veilig om gewoon execute te gebruiken als u geen retourwaarden nodig hebt, maar ik zou er niet op rekenen dat dit in toekomstige Android-versies waar zou zijn. De documentatie zegt nee, dus misschien gaat iemand het gedrag veranderen om dat weer te geven. Oudere implementaties lijken execute te gebruiken ook (bijv. 2.1 delete() broncode). Jelly Bean heeft bijvoorbeeld veel veranderd achter de schermen van SQLite, maar het zou nog steeds moeten werken bij gebruik van execute

Trouwens, als je niet dezelfde SQLiteStatement . gebruikt keer op keer, terwijl je de argumenten alleen maar opnieuw bindt, is het waarschijnlijk niet de moeite waard om het te gebruiken. Elke keer dat je de gewone insert aanroept, maak je een nieuwe , update , ... is snel vergeleken met de daadwerkelijke databasetoegang en de vereiste schijf-I/O. Transacties daarentegen helpen veel, omdat het synchroniseren van de databasestatus op de schijf voor elke instructie erg traag is.



  1. Trigger in SQL

  2. Kolomkop verwijderen in het uitvoertekstbestand

  3. Gegevensvisualisatie in Microsoft Power BI

  4. Voer MySQLDump uit zonder tabellen te vergrendelen