如果数据库大小超过2千兆字节,SQLite性能会降低吗?

Enk*_*bat 53 sqlite android-sqlite

去年,当我在他们的网站上检查SQLite时,建议的SQLite数据库大小为2千兆字节.但现在,我再也找不到这个建议了.

那么有没有人试图使用一个大于2千兆字节的SQLite数据库使用它的最新版本?SQLite的表现如何?

PS:我想创建一个移动应用程序,需要在本地工作的大数据库(例如存储维基百科文章).

CL.*_*CL. 65

没有2 GB的限制.

SQLite数据库文件的最大大小约为140 TB.

在手机上,存储空间的大小(几GB)将限制数据库文件的大小,而内存大小将限制您可以从查询中检索的数据量.此外,Android游标的结果限制为1 MB.


数据库大小本身不会影响您的性能.只要访问数据不适合DB的页面缓存(默认为2 MB),您的查询就会很快.

  • 谢谢你的有用答案.但我想知道的是sqlite将如何执行,具体取决于其数据库大小. (2认同)

Dar*_*usz 25

通常数据库越大,您拥有的数据就越多.您拥有的数据越多,搜索的时间就越长.他们不必,这取决于搜索.

对于插入,如果表上有许多索引,它们可能需要更长的时间.重建索引可能需要一些时间,因此期望插入速度随着数据量的增加而降低.

更新也可能更慢 - 必须首先找到拟合行(搜索),然后必须更改值(可能会触发索引重建).

我从经验告诉你:如果你期望数据库中有大量数据,可以考虑将它分成多个数据库.如果您每天收集数据并且可以为每天创建数据库,则此方法有效.可能会使您的搜索代码更加复杂,但会限制搜索速度/

  • 尽管我同意您的说法,但我认为如果您要在手机上创建应用程序,则创建多个文件可能不是最好的主意……它使用更多的磁盘空间来包含许多单独的文件。 (2认同)