android sqlite批量插入数据速度解决方案(sqlite批处理)
16lz
2021-01-25
最近在做android项目的时候遇到一个问题,应用程序初始化时需要批量的向sqlite中插入大量数,导致应用启动过慢。
android使用的是sqlite数据库,sqlite是比较轻量级的数据库,在Google了之后发现,sqlite事务处理的问题,在sqlite插入数据的时候默认一条语句就是一个事务,有多少条数据就有多少次磁盘操作。我的应用初始5000条记录也就是要5000次读写磁盘操作。
解决方法:
添加事务处理,把5000条插入作为一个事务
SQLiteDatabase db;
db.beginTransaction();//手动设置开始事务
//数据插入操作循环
db.setTransactionSuccessful();//设置事务处理成功,不设置会自动回滚不提交
db.endTransaction();//处理完成
更多相关文章
- “罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢?
- Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡
- 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
- Android(安卓)XML解析学习——创建XML
- [最全]Android安卓架构MVC、MVP、MVVM之间的区别和联系(图解+案
- 谷歌无限期推迟Android(安卓)2.1操作平台源代码开放
- Android安全机制--操作系统安全机制-进程、用户与文件安全
- android飞行模式灰显不能操作问题分解
- Study on Android【四】--显示控件使用