【发布时间】:2010-07-20 19:56:20
【问题描述】:
概述:我正在设计一个餐厅管理应用程序,我有一个名为 Order 的实体,其中包含 Items。由于一家餐厅可以运营多年,完成数千个“订单”,并且为了使我的应用程序的网络端更容易并保持数据库快速,我想介绍 ClosedOrder 的概念,它是一个基本上已经支付了订单。
我有几个选项可以做到这一点:我可以向我的 Order 实体添加一个 isClosed 属性,并使用谓词执行所有“打开”订单的获取请求,但这会导致存在大量记录的问题每次需要提取时都要经过数据库,由于我的应用程序的工作流程,这通常与 Order 实体一起使用。如果我理解正确,创建“ClosedOrder”子实体也会有同样的问题,因为 Core Data 将所有子实体存储在数据库的同一个表中。
在这种情况下创建一个完全独立的实体是愚蠢的吗?或者这正是我需要做的?对于我对数据库性能的整体缺乏了解,我深表歉意,Core Data 很漂亮,因为它抽象出需要学习的知识,但同时它实际上并不能让它变得不重要,尤其是在这样的情况下,性能如果我的用户将其推得太远,可能会严重降级。
【问题讨论】:
标签: objective-c core-data