我有一个名为 DiveSite 的核心数据实体,它具有大量属性,其中许多是表示影响潜水地点的特征或条件的布尔值。
事实上,我有很多属性,xCode 给了我一个警告 - “错误配置的实体 - DiveSite 有 100 多个属性;考虑更浅的实体层次结构或非规范化属性”
这些属性中的许多可以分组以减少实体上的属性总数 - 我可以将布尔值组更改为一系列整数并进行逻辑检查并检查我想要的因素。
我也意识到我可以将这些组变成单独的实体——其中一些将具有 1-1 关系,一些将具有 1-many 关系
就性能而言,将我的 DiveSite 实体更改为具有更少的属性是一件积极的事情吗?
如果是这样的话,拥有单独的实体或拥有我称之为使用谓词进行过滤的 6 个属性可能会在性能方面更好。?
在提出这个问题时考虑到这一点,我意识到如果我采用单独的实体路线,我允许自己将因素添加到某些实体中,只需将它们添加为实体的实例而不更改我的代码。
在我写这篇文章时,我可能已经回答了我自己的问题,但我会很感激经验核心数据/和数据库用户的意见
干杯