代码之家  ›  专栏  ›  技术社区  ›  zago

核心数据性能重复实体与财产

  •  0
  • zago  · 技术社区  · 10 年前

    我正在制作一个iOS应用程序,上面有数千张带问题的闪卡。问题库有大约10000个问题,分为5类。一个问题只能有一个类别。类别不会改变,它们是固定的。问题只是文本。不涉及图像。

    我在考虑两种方法:

    1) 为问题创建一个实体,其中包含一个类别字段(int)。

    获取结果以仅获得特定类别的问题。

    2) 创建5个实体,所有实体都具有相同的字段,但类别除外,类别具有与类别对应的默认值。

    为什么选择2? 我认为选项1)是正确的,但应用程序有很多问题,我认为提交过滤特定字段的查询可能比检索完全不同的实体慢。我从SQL的角度考虑,在一个表上执行SELECT,然后执行另一个表,应该比SELECT更快。。。同一张桌子上的什么地方?

    1 回复  |  直到 10 年前
        1
  •  0
  •   ForguesR    10 年前

    我同意你的观点,选项1是正确的。从另一个实体检索类别将增加最小的开销。此外,如果必须编辑类别,则只有一个条目可以更改。您还可以更轻松地添加其他类别。

    如果你真的关心性能(我认为你现在不应该这么做),你可以同时编写代码并进行速度测试。但这真的是太过分了,差别可能微不足道。