and*_*per 9 sqlite android transactions bulkinsert
我注意到有多种方法可以进行SQLite操作(查询,插入,更新,删除),有些方法比其他方法更快.许多网站提供不同的提示,有些与其他网站冲突.
似乎使用事务进行批量插入比以某种方式在循环中这样做更快.
怎么会?使用SQLite时获得最佳性能的最佳方法是什么?sqlite如何在Android上运行?
使用混淆InserHelper VS ContentValues,如图所示这里.
InserHelper如何工作,它总是比ContentValues更快?通过交易包装它会进一步加快速度吗?
对其他SQL框架的困惑.我记得添加索引会提高与索引相关的查询的性能.这对Android也是如此吗?这是一个好习惯吗?
我听说在某些情况下,最好不要使用UI线程进行数据库操作.在哪种情况下推荐这种情况?如此,数据库操作变得有多慢?如果DB变为70MB,是否意味着它会慢得多,UI线程永远不应该处理它?
Com*_*are 13
怎么会?
事务涉及磁盘I/O. 与大量磁盘I/O相比,执行一个更大的磁盘I/O块要便宜得多.
InserHelper如何工作并且总是比contentValues更快?
引用文档:"此类允许用户对表执行多次插入,但只编译一次SQL插入语句,这可能会提高性能."
它会以更快的速度包装它吗?
大概是的.
对于Android也是如此吗?
如果为正在执行的任何查询创建正确的索引,则索引可以提高查询速度.索引总是会降低插入/更新/删除速度,因为现在需要更新这些索引.这与Android没有任何关系.
是一件好事吗?
这是不可能抽象回答的.这与Android没有任何关系.
最好不要将UI线程用于数据库操作
正确.
在哪些情况下会被推荐?
永远不建议在主应用程序线程上执行任何磁盘I/O.
DB操作变得多慢?
世纪.可能到那时,设备中的某些东西会失效,或者它会耗尽电池电量.
如果DB变为70MB,是否意味着它会慢得多
这取决于你用它做什么.
和UI线程永远不应该处理它?
正确.
| 归档时间: |
|
| 查看次数: |
6660 次 |
| 最近记录: |