9

我是 Android 开发的新手。

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

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

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

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

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

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

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

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

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

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

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

4

4 回答 4

6

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

参考:官方 SQLite 文档和限制

14. 最大数据库大小

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

于 2015-07-07T05:38:46.633 回答
2

你可以毫无问题地存储这么多数据,我正在开发一个数据库,它的大小约为 35MB。

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

于 2014-01-07T10:48:03.510 回答
1

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

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

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

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

  • 尝试删除长时间不使用的记录
  • 您可以压缩数据,这将导致更小的数据库大小
于 2013-08-27T07:22:54.877 回答
0

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

于 2013-08-27T07:15:46.427 回答