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

时间:2013-01-22 04:32:44

标签: sqlite android-sqlite

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

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

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

2 个答案:

答案 0 :(得分:60)

没有2 GB的限制。

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

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


数据库大小本身不会影响您的性能。 您的查询将很快,只要它们不访问更多数据而不是适合DB的页面缓存(默认为2 MB)。

答案 1 :(得分:24)

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

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

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

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