SQLite
 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 отново и отново, докато просто повторно свързвате аргументите, вероятно не си струва да го използвате. Създаване на нов всеки път, когато извикате обикновения insert , update , ... методите са бързи в сравнение с действителния достъп до базата данни и необходимия I/O диск. Транзакциите от друга страна помагат много, тъй като синхронизирането на състоянието на базата данни на диска за всеки израз е наистина бавно.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLite няма такава колона

  2. ActiveAndroid Предварително попълване на таблицата с помощта на миграция на схема

  3. Android Studio 3.0 canary 1:SQL синтактична грешка

  4. SQLite избира редове, ако времевата марка съвпада с днешната дата

  5. Грешка в SQLiteDatabase, неполезен дневник