Android操作sqlite导入大量数据耗时的解决方法
来源:互联网 发布:雕刻机用什么软件编程 编辑:程序博客网 时间:2024/06/05 18:30
在Android开发中,需要向sqlite中导入大量数据,按照一般做法是很耗时的,测试了一下,导入一条数据在100ms左右,按照这样的做法,如果导入1万条数据,大约得花17分钟,经过实际测试,确实花了17分钟左右。
解决耗时的办法是利用sqlite的事务来处理。方法如下:
首先获取database对象,然后执行如下方法:
db.beginTransaction(); //手动设置开始事务
//数据插入操作循环
db.setTransactionSuccessful(); //设置事务处理成功,不设置会自动回滚不提交
db.endTransaction(); //处理完成
测试了一下,如果导入1万条数据,大约耗时20秒左右。性能比之前提升了一大截。
比如
public int insert(Uri uri, ContentValues[] values) {
SQLiteDatabase db = mOpenHelper.getWritableDatabase();
db.beginTransaction();
try {
int numValues = values.length;
for (int i = 0; i < numValues; i++) {
db.insertOrThrow(tablename, null, values);
}
db.setTransactionSuccessful();
} finally {
db.endTransaction();
}
return values.length;
}
- Android操作sqlite导入大量数据耗时的解决方法
- Android操作sqlite导入大量数据耗时的解决方法
- Android事务操作(操作sqlite导入大量数据耗时的解决方法)
- SQLite 插入大量数据慢的解决方法
- Python使用SQLite插入大量数据耗时问题
- Android:SQLite插入大量数据的效率优化
- 如何解决大量字符串的拼接操作的耗时问题
- Android sqlite 插入耗时的问题
- C++操作MySQL大量数据插入效率低下的解决方法
- android 开启线程查询数据,耗时操作
- sqlite大量数据插入的优化
- Android SQLite 数据操作
- android sqlite数据操作
- Android SQLite数据操作
- Android SQLite导入CSV数据
- 导入大量数据时出现MySQL Server has gone away 的解决方法
- eclipse项目里导入大量的js文件验证过慢耗时优化问题
- neo4j 大量数据的批量导入
- linux 命令之间传递数据的方式:重定向、管道、xargs 命令。
- 一位码农的人生自述(五十七)------又一年
- Eclipse Tomcat插件的配置, 及 Tomcat 的配置和Tomcat插件下载
- 使用SerializableAttribute进行对象序列化与反序列化
- 关于AES256算法java端加密,ios端解密出现无法解密问题的解决方案
- Android操作sqlite导入大量数据耗时的解决方法
- window server2008 word转html iis7配置无法转换问题
- Amdahl’s law (阿姆达尔定律)的演化和思考
- VC++ 中WM_COPYDATA 怎么样应用来实现两个进程间的数据传输
- 我的资源
- 使用FFMPEG合并视频
- SQL SERVER中FOR循环的模板
- 使用VBA生成Excel目录列表
- FusionCharts应用例子