Android sqlite 插入耗时的问题
来源:互联网 发布:emc测试设备 知乎 编辑:程序博客网 时间:2024/06/07 08:00
我们都知道sqlite是单线程操作的, 如果多个线程一起操作, 会导致锁表!
因为我们的代码是外包出去的. 最近刚收回代码! 我发现批量下载这里会导致ANR! 于是我想到批量下载的地方会往数据库里面插数据!
这个时候我down的数量大约200左右,然而差数据库的数据有可能是300条-400条!
外包的同学的代码大约是如下的:
for(Object o : List) {
insertToDB(o);
}
插入数据库全部是在UI线程做的. 所以这里导致我插入数据库的耗时大约是40秒左右. 这如果不ANR的话我都觉得奇怪了.
sqlite使用显示事务和不使用显示事务的差距是很大的. 因为sqlite是文件操作, 如果不使用显式的事务, 对数据进行大量的操作,时间都耗费在I/O操作上,所以很慢
当我用事务之后, 大约只1秒左右差400条数据
所以记住, sqlite最好使用显式事务操作
0 0
- Android sqlite 插入耗时的问题
- Python使用SQLite插入大量数据耗时问题
- Android操作sqlite导入大量数据耗时的解决方法
- Android操作sqlite导入大量数据耗时的解决方法
- 启用事务操作,解决批量插入或更新sqlite,mssql等数据库耗时问题
- 启用事务操作,解决批量插入或更新sqlite,mssql等数据库耗时问题
- 启用事务操作,解决批量插入或更新sqlite,mssql等数据库耗时问题
- sqlite3数据插入耗时问题
- android插入SQLite中文乱码问题
- C#:SQLite大量插入的效率问题
- Android事务操作(操作sqlite导入大量数据耗时的解决方法)
- Android SQLite 插入优化
- android sqlite的Date问题
- sqlite的快速插入
- sqlite批量插入数据库问题
- Android SQLite插入优化 SQLiteStatement
- Android - 插入数据库(SQLite)错误
- Android - 插入数据库(SQLite)错误
- 2012 亚洲区长春站-浙大命题(HDU 4430+HDU 4422)
- [数位dp] cf 55D Beautiful numbers
- flask获取post数据
- bootstrap datepicker 属性设置
- gcc -static hello.c 背后究竟发生了什么
- Android sqlite 插入耗时的问题
- UVA - 10057 A mid-summer night's dream.
- read the "clr via C# " of 类型基础(第四章)
- 机房收费系统--报表器
- 理解Javascript的闭包
- 【Troubleshooting】外键不建索引易导致死锁
- Android线程优先级
- ORA-4031深入解析
- container_of 理解