sqliteandroid sqlite批量插入数据速度解决方案

转自 http://hi.baidu.com/hfutonline/blog/item/62b1e4de8bdf4b2e5882dd28.html

多年来当做android项目的当儿遇到一个问题,应用程序初始化时欲批量的为sqlite中插大量数,导致应用启动过慢。

android使用的凡sqlite数据库,sqlite是于轻量级的数据库,在Google了后察觉,sqlite事务处理的问题,在sqlite插入数据的时光默认一条告词就是一个政工,有微微条数就是发生些许次磁盘操作。我之采用起来5000长条记下为即是如果5000蹩脚读写磁盘操作。

解决智:

添加事务处理,把5000修插入作为一个工作

dataBase.beginTransaction();        //手动设置开始工作

//数据插入操作循环

dataBase.setTransactionSuccessful();        //设置事务处理成功,不装会自行回滚不交

dataBase.endTransaction();        //处理完了 

 

 

拿数据库「倒出」:

sqlite3 film.db “.dump” > output.sql

运用输出的材料,建立一个一律底数据库(加上以上命令,就是专业的SQL数据库

备份了):

sqlite3 film.db < output.sql

当大方安插资料时,你可能会见得先从者令:

begin;

插入入了资料后若记打这令,资料才见面写进数据库被:

commit;

 

网站地图xml地图