【问题标题】:File size limit for SQLite on 32bit system32 位系统上 SQLite 的文件大小限制
【发布时间】:2010-11-30 13:55:43
【问题描述】:

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

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

【问题讨论】:

标签: sqlite


【解决方案1】:

根据 sqlite 文档,数据库文件的最大大小约为 140 TB,实际上受操作系统/文件系统的限制。

您可以在此处阅读更多信息(注意 页面 部分):http://www.sqlite.org/fileformat2.html

【讨论】:

  • 谢谢。我在 google 结果中省略了该页面,因为我没想到会在文件格式页面上找到此类信息
  • 你对这个问题很感兴趣(我从来没有处理过如此庞大的 sqlite 数据库):) 我已经尝试了 5.5GB 测试数据库,在 32 位 linux 上完全没有发现任何问题使用 xfs 文件系统。
【解决方案2】:

找出分区的文件系统类型。请记住,文件大小的限制不取决于操作系统 32 位或 64 位,而是取决于硬盘的分区类型。

See Wikipedia

【讨论】:

    【解决方案3】:

    虽然这是一个老问题,但让我分享一下我的发现,供遇到这个问题的人参考。

    虽然 Sqlite 文档指出数据库文件的最大大小约为 140 TB,但您的操作系统对任何类型文件的最大文件大小都有自己的限制。

    例如如果您在 Windows 上使用 FAT32 磁盘,我可以为 sqLite 实现的最大文件大小为 2GB。 (根据 Microsoft 网站,FAT 32 系统的限制为 4GB,但我的 sqlite 数据库大小仍然限制为 2GB)。 在 Linux 上,我能够达到 3 GB(我停止的地方。它本来可以达到更大的大小)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-04
      • 2011-09-08
      • 2011-05-04
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-18
      相关资源
      最近更新 更多