SQLite
 sql >> Base de Dados >  >> RDS >> SQLite

SQLiteStatement executa um SELECT / INSERT / DELETE / UPDATE


execute provavelmente não é mais rápido que executeInsert , pode até ser mais lento (no ICS execute chama executeUpdateDelete e descarta o valor de retorno). Você precisa testar isso, mas duvido que você encontre uma diferença real aqui.

AFAIK, é seguro usar apenas execute se você não precisar de valores de retorno, mas eu não contaria com isso em futuras versões do Android. A documentação diz que não, então talvez alguém mude o comportamento para refletir isso. Implementações mais antigas parecem usar execute também (por exemplo, 2.1 delete() Código fonte). Jelly Bean, por exemplo, mudou muito nos bastidores do SQLite, mas ainda deve funcionar ao usar execute

Além disso, se você não usar o mesmo SQLiteStatement repetidamente enquanto apenas religando os argumentos, provavelmente não vale a pena usá-lo. Construindo um novo cada vez que você chama o insert normal , update , ... é rápido em comparação com o acesso real ao banco de dados e a E/S de disco necessária. As transações, por outro lado, ajudam muito, pois a sincronização do estado do banco de dados no disco para cada instrução é muito lenta.