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.