sql >> Databasteknik >  >> RDS >> SQLite

SQLiteStatement kör en SELECT / INSERT / DELETE / UPDATE

execute är förmodligen inte snabbare än executeInsert , kan till och med vara långsammare (på ICS execute anropar executeUpdateDelete och kasserar returvärdet). Du måste testa det men jag tvivlar på att du kommer att hitta någon verklig skillnad här.

AFAIK, Det är säkert att använda bara execute om du inte behöver returvärden men jag skulle inte räkna med att det gäller i framtida Android-versioner. Dokumentationen säger nej, så kanske någon kommer att ändra beteendet för att spegla det. Äldre implementeringar verkar använda execute också (t.ex. 2.1 delete() källkod). Jelly Bean till exempel förändrade mycket bakom kulisserna i SQLite, men det borde fortfarande fungera när du använder execute

Dessutom, om du inte använder samma SQLiteStatement om och om igen medan du bara binder om argumenten är det förmodligen inte värt att använda det. Bygg en ny varje gång du anropar den vanliga insert , update , ... metoderna är snabba jämfört med den faktiska databasåtkomsten och den nödvändiga disk I/O. Transaktioner å andra sidan hjälper mycket, eftersom synkronisering av databastillstånd på disken för varje uttalande är väldigt långsam.



  1. Hur man hittar dubbletter av värden i en SQL-tabell

  2. SQL Server Index Användningsstatistik

  3. Finns/finns inte:'välj 1' kontra 'välj fält'

  4. MySQL vs PostgreSQL? Vilket ska jag välja för mitt Django-projekt?