我为什么不在iOS上将数据存储为文件?

时间:2012-10-03 18:58:12

标签: ios database storage

如果我需要存储大约100个实体的集合,每个实体都有几KB数据,如果我选择保存并将其作为文件读取,而不是使用Core Data或sqlite还是其他任何数据库?

我很可能一次只需要使用几个,我计划在内存中读取,解析和加载它们,使用它们,然后在它们不再使用时释放它们。此外,我永远不需要在其中搜索数据,我将始终通过他们的ID访问它们。

2 个答案:

答案 0 :(得分:2)

您提供的数据库表示数据片段之间的关系,完整性维护,事务支持以及快速搜索和访问的索引。 (好吧,所有这些以及更多......)

另一方面,当你必须处理非结构化或非统一数据时,数据库是非常低效的 - 像图像这样的二进制blob,每个都有不同松散定义模式的XML文件,等等。因此,为什么没有人使用关系数据库进行缓存,例如。

因此,您是否应该使用Core Data(或其他数据库)或文件取决于这些文件的内容,它们之间的关系以及您需要对它们执行的操作。

答案 1 :(得分:2)

嵌入很多文件是完全没问题的 - 我怀疑文件系统效率很高。如果您需要访问或过滤某些属性,或者部分读取数据,或者使用它们做其他奇特的事情,那么这就是数据库派上用场的地方。