如果我需要存储大约100个实体的集合,每个实体都有几KB数据,如果我选择保存并将其作为文件读取,而不是使用Core Data或sqlite还是其他任何数据库?
我很可能一次只需要使用几个,我计划在内存中读取,解析和加载它们,使用它们,然后在它们不再使用时释放它们。此外,我永远不需要在其中搜索数据,我将始终通过他们的ID访问它们。
答案 0 :(得分:2)
您提供的数据库表示数据片段之间的关系,完整性维护,事务支持以及快速搜索和访问的索引。 (好吧,所有这些以及更多......)
另一方面,当你必须处理非结构化或非统一数据时,数据库是非常低效的 - 像图像这样的二进制blob,每个都有不同松散定义模式的XML文件,等等。因此,为什么没有人使用关系数据库进行缓存,例如。
因此,您是否应该使用Core Data(或其他数据库)或文件取决于这些文件的内容,它们之间的关系以及您需要对它们执行的操作。
答案 1 :(得分:2)
嵌入很多文件是完全没问题的 - 我怀疑文件系统效率很高。如果您需要访问或过滤某些属性,或者部分读取数据,或者使用它们做其他奇特的事情,那么这就是数据库派上用场的地方。