android sqlite批量插入数据速度解决方案
来源:互联网 发布:java小游戏皇家骑士团 编辑:程序博客网 时间:2024/05/22 01:47
转自 http://hi.baidu.com/hfutonline/item/c515fd492ac84500e8350494,感谢作者!
最近在做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;
- android sqlite批量插入数据速度解决方案
- android sqlite批量插入数据速度解决方案
- android sqlite批量插入数据速度解决方案
- android sqlite批量插入数据速度解决方案
- android sqlite批量插入数据速度慢解决方案
- Android sqlite批量插入数据
- 【android】批量插入数据提高速度解决
- Android批量插入数据到SQLite数据库
- Android批量插入数据到SQLite数据库
- Android批量插入数据到SQLite数据库
- Android--批量插入数据到SQLite数据库
- Android批量插入数据到SQLite数据库
- android SQLite 批量插入数据慢的解决方案 (针对于不同的android api 版本)
- Android批量插入数据到SQLite数据…
- 批量数据插入SQLite全记录
- sqlite循环批量插入数据
- Android批量插入数据到sqlite的性能优化
- 【android】 批量插入数据到sqlite的性能优化
- 摩根大通下调2013年IT支出预期 明年有望复苏
- yaffs2 文件系统调试选项
- 第十次实验任务
- 将告别大一的一点点感想
- android中清理堆栈
- android sqlite批量插入数据速度解决方案
- Oracle Database :玩转Oracle学习笔记之(22):Oracle选择
- iOS静态库1
- Oracle启动服务详解以及手动控制
- 排序算法--冒泡排序
- Oracle Database :玩转Oracle学习笔记之(23):Oracle数据库管理--导入及导出
- hbase介绍
- 产品原型设计 Balsamiq Mockups v2.2.11 Key 注册码
- 第十次实验