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.