2010-11-30 79 views
9

我使用sqlite作为临时存储来计算有关中等大型数据集的统计信息。 我想知道如果我的数据库在32位系统上超过2GB会发生什么。 (我目前无法将系统更改为64位)32位系统上SQLite的文件大小限制

它是否使用内存映射文件并在文件大小超过可寻址内存时中断? (如mongodb)

+0

可能重复的[是否有限制的大小的sqlite数据库吗?](http:// stackoverflow .com/questions/2777954/is-there-a-limit-to-the-size-of-sqlite-database) – nawfal 2013-06-12 08:49:01

回答

9

根据sqlite文档,数据库文件的最大大小是〜140兆兆字节,并且实际上受到os /文件系统的限制。

你可以在这里阅读更多(注意部分):http://www.sqlite.org/fileformat2.html

+0

谢谢。我已经在谷歌搜索结果中省略了那个页面,因为我没有期望在文件格式中找到这样的信息。 – 2010-11-30 14:44:23

0

找出你的文件系统类型的分区。请记住,文件大小限制它与OS 32位或64位无关,但与硬盘的分区类型无关。

See Wikipedia

0

尽管这是一个老问题,但让我分享我的发现为人们谁达到了这个问题。

尽管Sqlite文档声明数据库文件的最大大小是〜140 TB,但是您的操作系统强制它自己限制任何类型文件的最大文件大小。

例如,如果您在Windows上使用FAT32磁盘,则我可以为sqLite实现的最大文件大小为2GB。 (据微软的网站,限制上FAT 32系统4GB但还是我的SQLite数据库大小限制为2GB )。在Linux上,我能够达到3 GB(我停下来,它可能已经达到更多的尺寸)