iOS 开发如果涉及数据和表的持久化,Core Data 比 SQLite 更好吗
展开全部
相对来说更好一点。
coredata和sqlite的概念不同,core为对象周期管理,而sqlite为dbms。
在写入性能上,因为都是使用的sqlite格式作为磁盘存储格式,因此其性能是一样的,如果觉得用core data写的慢,很可能是用sqlite的时候写的每条数据的内容没有core data时多,或者是批量写入的时候每写入一条就调用了一次save。
查询性能,core data因为要兼容多种后端格式,因此查询时,其可用的语句比直接使用sqlite少,因此有些fetch实际上不是在sqlite中执行的。但这样未必会降低查询效率。core data的一个比较大的痛点是多人合作开发的时候,管理coredata的模型需要很小心,尤其是合并的时候,他的data model是XML格式的,手动resolve比较烦心。core data还有其他sql所不具备的优点,比如对undo的支持,多个context实现sketchbook类似的功能。为ManagedObject优化的row cash等。
coredata和sqlite的概念不同,core为对象周期管理,而sqlite为dbms。
在写入性能上,因为都是使用的sqlite格式作为磁盘存储格式,因此其性能是一样的,如果觉得用core data写的慢,很可能是用sqlite的时候写的每条数据的内容没有core data时多,或者是批量写入的时候每写入一条就调用了一次save。
查询性能,core data因为要兼容多种后端格式,因此查询时,其可用的语句比直接使用sqlite少,因此有些fetch实际上不是在sqlite中执行的。但这样未必会降低查询效率。core data的一个比较大的痛点是多人合作开发的时候,管理coredata的模型需要很小心,尤其是合并的时候,他的data model是XML格式的,手动resolve比较烦心。core data还有其他sql所不具备的优点,比如对undo的支持,多个context实现sketchbook类似的功能。为ManagedObject优化的row cash等。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询