android - 优化对只读 sqlite 数据库的快速访问?

标签 android database performance sqlite

我有一个庞大的数据库,我希望我的应用程序尽快使用它。我正在使用 android,因此资源受到更多限制。我知道在 sqlite 数据库中存储大量数据不是一个好主意,但我需要这个。

每个数据库只包含一个表,我使用它只读。

你能给我什么建议来尽可能优化数据库。我已经读过 this发布,除了 PRAGMA 命令我还能使用什么?

也许有一些特殊的类型表被限制为只读查询,但主要是比普通表类型快?

最佳答案

只要您的数据库适合设备,就没有问题;您将只有更少的空间用于其他应用程序。

没有特殊的表类型。但是,如果您的查询仅使用表列的子集,并且您有足够的剩余空间,请考虑添加一个或多个 covering indexes .

只读允许在部署之前在桌面上优化数据库:

  • 设置页面大小等;
  • 创建有用的索引;
  • ANALYZE
  • VACUUM

在您的应用中,您可以尝试增加 page cache size ,但是如果您的工作集大于可用内存,那也无济于事。在任何情况下,从闪存中随机读取的速度都很快,所以这不是什么大问题。

关于android - 优化对只读 sqlite 数据库的快速访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12831504/

相关文章:

android - Firebase 发布 apk 未加载数据

android - 现在可以在 Android 中编写答录机应用程序了吗?

android - 在没有客户端的情况下测试 http post?

javascript - 更新 azure 移动服务数据库中的现有项目

mysql - 从另一个表中获取两个用户共有的行

mysql - MySQL中存储几乎相同的4个字段的最佳方式

performance - 在每个子集上找到最大值

.net - 令人惊讶的性能差异 : List. Contains、SortedList.ContainsKey、DataRowCollection.Contains、Data Table.Select、DataTable.FindBy

sql-server - 聚集索引中间叶之间的顺序遍历是如何使用的?

android - 在 mp4Parser 的帮助下修剪视频