iOS SQLite 或 1000 个松散文件



假设我有 1000 条可变大小的记录,范围从大约 256 字节到几 K。 我想知道将它们放入 sqlite 数据库与在 iOS 上读取/写入 1000 个松散文件有什么优势吗? 除了通过单个键访问之外,我不需要执行任何操作,我可以将其用作文件名。 似乎文件系统将是赢家,除非记录数量变得非常大。

如果您的系统是只读的,我会说文件系统是明显的赢家:一个简单的二进制文件,也许还有一个小索引来了解每条记录的开始位置,这就是您所需要的。您可以将整个索引读入内存,然后根据需要从文件系统中获取记录,以获得任何RDBMS都很难匹配的性能。

但是,由于

您计划将数据写回,由于潜在的数据完整性问题,我建议使用 SQLite。

性能问题也不应被低估:由于您的记录大小可变,因此在需要扩展记录的情况下,将数据写回可能会很困难。此外,由于您使用的是移动平台,因此您需要构建一些东西以避免程序在写入过程中意外终止时的数据损坏。SQLite负责解决这个问题;您的代码必须构建与之相当的东西,否则可能会出现数据损坏问题。

相关内容

最新更新