【发布时间】:2010-11-30 13:55:43
【问题描述】:
我使用 sqlite 作为临时存储来计算关于中等大数据集的统计数据。 我想知道如果我的数据库在 32 位系统上超过 2GB 会发生什么。 (我目前无法将系统更改为 64 位)
它是否使用内存映射文件并在文件大小超过可寻址内存时中断? (如 mongodb)
【问题讨论】:
标签: sqlite
我使用 sqlite 作为临时存储来计算关于中等大数据集的统计数据。 我想知道如果我的数据库在 32 位系统上超过 2GB 会发生什么。 (我目前无法将系统更改为 64 位)
它是否使用内存映射文件并在文件大小超过可寻址内存时中断? (如 mongodb)
【问题讨论】:
标签: sqlite
根据 sqlite 文档,数据库文件的最大大小约为 140 TB,实际上受操作系统/文件系统的限制。
您可以在此处阅读更多信息(注意 页面 部分):http://www.sqlite.org/fileformat2.html
【讨论】:
找出分区的文件系统类型。请记住,文件大小的限制不取决于操作系统 32 位或 64 位,而是取决于硬盘的分区类型。
【讨论】:
虽然这是一个老问题,但让我分享一下我的发现,供遇到这个问题的人参考。
虽然 Sqlite 文档指出数据库文件的最大大小约为 140 TB,但您的操作系统对任何类型文件的最大文件大小都有自己的限制。
例如如果您在 Windows 上使用 FAT32 磁盘,我可以为 sqLite 实现的最大文件大小为 2GB。 (根据 Microsoft 网站,FAT 32 系统的限制为 4GB,但我的 sqlite 数据库大小仍然限制为 2GB)。 在 Linux 上,我能够达到 3 GB(我停止的地方。它本来可以达到更大的大小)
【讨论】: