【发布时间】:2011-12-17 15:11:23
【问题描述】:
我有一个具有 32 位哈希值的核心数据模型。我需要快速查找特定的哈希值。我应该使用索引属性吗?我不知道它的作用,documentation 也无济于事(我是不是找错地方了?)
那么索引到底是做什么的呢?
【问题讨论】:
我有一个具有 32 位哈希值的核心数据模型。我需要快速查找特定的哈希值。我应该使用索引属性吗?我不知道它的作用,documentation 也无济于事(我是不是找错地方了?)
那么索引到底是做什么的呢?
【问题讨论】:
如果您选中该框,Core Data 将建立一个值的索引,这将使搜索更快、更高效。这就像 Spotlight 使用的那样。如果没有索引,它每次都必须遍历数据库。您说您需要快速查找这些值,然后您应该为它们编制索引。
【讨论】:
我建议在索引上阅读此内容:http://en.wikipedia.org/wiki/Index_(database)。
简单地说,数据库引擎创建了一个新结构,该结构保持索引列(对应于属性)的排序,并为每个条目(主键)提供到相应行的链接。这允许更快的搜索(因为在有序列表中搜索比在无序列表中更快)。但这会增加使用的存储空间(用于数据结构)和插入时间(以保持结构有序)。
所以是的,你应该在这种情况下使用索引。
【讨论】: