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

时间:2013-08-27 07:03:45

标签: android sqlite android-sqlite

我是Android开发的新手。

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

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

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

表-1的大小是:4.5 MB 表-2的大小是:目前3.5 MB。

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

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

我怀疑的是,我可以在Android应用程序中本地存储这么多数据,或者应用程序的速度可以受其影响。

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

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

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

请帮帮我。在此先感谢... :)

4 个答案:

答案 0 :(得分:6)

最大数据库大小可以是大约1.4e + 14字节(140太字节,或140,000千兆字节)。

参考:The Official SQLite Documentation and limits

  

14。最大数据库大小

     

每个数据库都包含一个或多个"页面"。在单个数据库中,每个页面的大小相同,但不同的数据库的页面大小可以是512到65536之间的两个页面大小。数据库文件的最大大小为2147483646页。在最大页面大小为65536字节时,这意味着最大数据库大小约为1.4e + 14字节(140太字节,或128 tebibytes,或140,000千兆字节或128,000 gibibytes)。

答案 1 :(得分:1)

  

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

因此,如果您不想使用外部存储,您唯一的方法是使用内部存储(您也不想使用远程服务器)。通常,当数据库具有更大的大小时,通常使用外部存储来优化应用程序。但它也取决于数据的特征e.q.如果他们是敏感的或不是,所以外部存储并不总是赢。

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

但提高绩效的一些建议:

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

答案 2 :(得分:1)

你可以毫无问题地存储这么多数据,我正在研究数据库。它的大小约为35MB。 您应该使用缓存来加速获取数据。

我不喜欢内部存储,它很小。

答案 3 :(得分:0)

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