Eu tive esse problema. No meu caso eram mais de 20k em registros que precisa inserir.
Em sexta-feira, 20 de novembro de 2015 11:39:16 UTC-2, kalinn...@gmail.com escreveu:
-- Eu estava tendo uma demora de mais de 5 min para isso então fiz um insert em batch e o tempo caiu para em torno de 20s
segue um exemplo
SQLiteDatabse db = getWriteableDatabase(); //use the db you would normally use for db.insert, and the "table_name" //is the same one you would use in db.insert() InsertHelper iHelp = new InsertHelper(db, "table_name"); //Get the indices you need to bind data to //Similar to Cursor.getColumnIndex("col_name"); int first_index = iHelp.getColumnIndex("first"); int last_index = iHelp.getColumnIndex("last"); try { db.beginTransaction(); for(int i=0 ; i<num_things ; ++i) { //need to tell the helper you are inserting (rather than replacing) iHelp.prepareForInsert(); //do the equivalent of ContentValues.put("field","value") here iHelp.bind(first_index, thing_1); iHelp.bind(last_index, thing_2); //the db.insert() equilvalent iHelp.execute(); } db.setTransactionSuccessful(); } finally { db.endTransaction(); } db.close();
Em sexta-feira, 20 de novembro de 2015 11:39:16 UTC-2, kalinn...@gmail.com escreveu:
Estou utilizando Active Android para o banco de dados.No momento do login, faço uma requisição no webservice e ele me retorna um pouco mais de 500 registros para serem inseridos no banco.Portanto, ele demora em média uns 30 segundos para fazer todo o processamento.O que vocês me sugerem para tentar amenizar esse problema?Pensei em deixar esse conteúdo estático e toda vez que o aplicativo for instalado pela primeira vez, ele faz essas inserções.Alguém poderia me dar uma luz?Obrigada
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
0 comentários:
Postar um comentário