Android操作sqlite导入大量数据耗时的解决方法

在Android开发中,需要向sqlite中导入大量数据,按照一般做法是很耗时的,测试了一下,导入一条数据在100ms左右,按照这样的做法,如果导入1万条数据,大约得花17分钟,经过实际测试,确实花了17分钟左右。


解决耗时的办法是利用sqlite的事务来处理。方法如下:


首先获取database对象,然后执行如下方法:


db.beginTransaction();      //手动设置开始事务
//数据插入操作循环
//update insert
delete select可以循环嵌套操作
db.setTransactionSuccessful();       
//设置事务处理成功,不设置会自动回滚不提交
db.endTransaction();        //处理完成


测试了一下,如果导入1万条数据,大约耗时20秒左右。性能比之前提升了一大截。

原文连接:http://hi.baidu.com/fgfd0/blog/item/2264d1546015d243d10906d9.html
原文地址:https://www.cnblogs.com/bmate/p/2337200.html