SQLite
 sql >> Baza danych >  >> RDS >> SQLite

SQLiteStatement wykonuje SELECT / INSERT / DELETE / UPDATE

execute prawdopodobnie nie jest szybszy niż executeInsert , może być nawet wolniejszy (w ICS execute wywołuje executeUpdateDelete i odrzuca zwracaną wartość). Musisz to przetestować, ale wątpię, czy znajdziesz tutaj prawdziwą różnicę.

AFAIK, Bezpiecznie jest użyć po prostu execute jeśli nie potrzebujesz zwracanych wartości, ale nie liczyłbym na to, że będzie to prawdą w przyszłych wersjach Androida. Dokumentacja mówi nie, więc może ktoś zmieni zachowanie, aby to odzwierciedlić. Starsze implementacje wydają się używać execute też (np. 2.1 delete() kod źródłowy). Na przykład Jelly Bean bardzo się zmienił za kulisami SQLite, ale powinien nadal działać przy użyciu execute

Poza tym, jeśli nie używasz tego samego SQLiteStatement w kółko, podczas gdy tylko zmieniamy argumenty, prawdopodobnie nie warto go używać. Tworzenie nowego za każdym razem, gdy wywołujesz zwykłe insert , update , ... jest szybki w porównaniu z rzeczywistym dostępem do bazy danych i wymaganym dyskowym wejściem/wyjściem. Z drugiej strony transakcje bardzo pomagają, ponieważ synchronizacja stanu bazy danych na dysku dla każdej instrukcji jest bardzo powolna.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wybrać dane między dwiema datami z sqlite db w formacie dd-mm-rrrr?

  2. Błąd SQLiteConstraintException wyświetlany po rozpoczęciu każdej aktywności

  3. Jak poprawić wydajność bazy danych SQLite dla Androida?

  4. Pobierz bazę danych lub dowolny inny plik z pamięci wewnętrznej za pomocą funkcji run-as

  5. Jak naprawić adres URL dostawcy treści, którego nie znaleziono w dostawcy treści na Androida?