Tecnologia do Blogger.
RSS

Re: [androidbrasil-dev] Re: melhor alternativa para salvar muitos dados em banco

Apenas um heads-up:
InsertHelper está deprecated na API 17. Utilize SQLiteStatement. Não sei se terá o mesmo ganho que o Diego citou, mas vale a pena tentar.

Em 13 de janeiro de 2016 14:01, Diego Melo <diegomeloadm@gmail.com> escreveu:
Eu tive esse problema. No meu caso eram mais de 20k em registros que precisa inserir.
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.

--
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.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário