sql >> Database teknologi >  >> RDS >> SQLite

SQLiteStatement udfører en SELECT / INSERT / DELETE / UPDATE

execute er sandsynligvis ikke hurtigere end executeInsert , kunne endda være langsommere (på ICS execute kalder executeUpdateDelete og kasserer returværdien). Du skal teste det, men jeg tvivler på, at du vil finde en reel forskel her.

AFAIK, Det er sikkert at bruge bare execute hvis du ikke har brug for returværdier, men jeg vil ikke regne med, at det gælder i fremtidige Android-versioner. Dokumentationen siger nej, så måske vil nogen ændre adfærden for at afspejle det. Ældre implementeringer ser ud til at bruge execute også (f.eks. 2.1 delete() kildekode). Jelly Bean ændrede sig for eksempel meget bag kulisserne i SQLite, men det burde stadig fungere, når du bruger execute

Desuden, hvis du ikke bruger den samme SQLiteStatement igen og igen, mens du bare binder argumenterne igen, er det nok ikke værd at bruge det. Byg en ny hver gang du kalder den almindelige insert , update , ... metoder er hurtige sammenlignet med den faktiske databaseadgang og den nødvendige disk I/O. Transaktioner på den anden side hjælper meget, da synkronisering af databasetilstand på disken for hver erklæring er meget langsom.



  1. PLSQL JDBC:Hvordan får man sidste række-id?

  2. hvordan man henter billede fra drawable i henhold til deres navne i SQLite-databasen og derefter viser det i listevisning

  3. Repræsenterer IPv4/IPv6-adresser i Oracle

  4. Sådan e-mailes forespørgselsresultater som en vedhæftet fil i SQL Server (T-SQL)