Android在SQLite插入大量数据的时的性能优化

来源:互联网 发布:linux scp -P 编辑:程序博客网 时间:2024/05/18 01:16

常规做法:for循环遍历一次向数据库插入一条记录,sqlite数据库是以文件的形式存在磁盘中,就相当于每次访问时都要打开一次文件,每一次写入都是一次 IO操作,效率很慢

改进:

1:开启事务,这是必须要做的,在for循环外开启事务,循环中插入数据,循环结束关闭事务。当所有插入完成后,再一次性写入数据库。

db.beginTransaction();       //手动设置开始事务

//数据插入操作循环

for(int,int,int){

}

db.setTransactionSuccessful();       //设置事务处理成功,不设置会自动回滚不提交

db.endTransaction();       //处理完成


2:使用SqliteStatement,方法1和方法2结合使用后(最外层开启事务,然后使用SqliteStatement操作,最后关闭事务)

1 0
原创粉丝点击