繁体   English   中英

Android 应用程序中的最大 SQLite 数据库大小

[英]Maximum SQLite Database Size in Android Application

我是 Android 开发的新手。

目前,我正在开发一个具有大量数据的 Android 应用程序。

所以我认为我应该在本地存储一些数据。

我有一个有 2 个表的数据库。

表 1 的大小为:4.5 MB 表 2 的大小为:当前为 3.5 MB。

即总共大约 8.0 MB,但将来数据库大小可以增加,可能会达到 10 MB。

表 1:行 (14927) 和列 (17) 表 2:行 (9903) 和列 (38)

我的疑问是,我能否在 android 应用程序中本地存储这么多数据,否则应用程序的速度会受到影响。

我不想将这些数据存储在外部存储中。 而且我无法将其存储在服务器数据库中,因为我必须在应用程序中多次使用这些数据。 而其他数据在服务器上,因为它必须集中使用。

这是我的观点。 但请给我你的建议。

有这么大的数据库怎么办。

请帮我。 提前致谢...:)

最大数据库大小约为 1.4e+14 字节(140 TB,或 140,000 GB)。

参考:官方 SQLite 文档和限制

14. 最大数据库大小

每个数据库都由一个或多个“页面”组成。 在单个数据库中,每个页面的大小都相同,但不同的数据库的页面大小可以是 512 和 65536 之间的 2 的幂,包括 512 和 65536。 数据库文件的最大大小为 2147483646 页。 最大页面大小为 65536 字节时,这意味着最大数据库大小约为 1.4e+14 字节(140 TB,或 128 tebibytes,或 140,000 GB 或 128,000 GB)。

您可以毫无问题地存储那么多数据,我正在处理一个数据库,它的大小约为 35MB。

您可以使用缓存来加快获取数据的速度。

我不想将这些数据存储在外部存储中。 而且我无法将其存储在服务器数据库中,因为我必须在应用程序中多次使用这些数据。

所以如果你不想使用外部存储,你唯一的方法就是使用内部存储(你也不想使用远程服务器)。 通常当数据库较大时,通常使用外部存储来优化应用程序。 但这也取决于数据 eq 的特性,它们是否敏感,因此外部存储并不总是获胜。

但是在您的情况下,我认为您的应用程序性能不会降低。 只有对数据库的查询才能比超过 10-100 行的查询持续更长的时间(可以通过创建适当的索引来优化查询)。

但是有一些提高性能的建议:

  • 尝试删除长时间不使用的记录
  • 您可以压缩将导致较小的数据库大小的数据

您可以在 sqlite 中存储这么多数据。这可能会影响您的表上的查询搜索而不是您的应用程序,您应该始终在单独的线程而不是主线程上与您的数据库进行交互。 但是您应该考虑从用户不再需要的表中删除行,这可能会从数据库中释放一些负载。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM