Core Data属性的Indexed属性有什么作用?

时间:2011-10-28 21:59:52

标签: core-data indexing

我有一个32位哈希值的核心数据模型。我需要快速查找特定的哈希值。我应该使用索引属性吗?我不知道它做了什么,而documentation没有帮助(我在错误的地方寻找?)

索引究竟做了什么?

model

enter image description here

2 个答案:

答案 0 :(得分:51)

我建议在索引上阅读:http://en.wikipedia.org/wiki/Index_(database)

简单地说,数据库引擎创建一个新结构,该结构使索引列(对应于属性)保持排序,并链接到每个条目(主键)的相应行。这允许更快的搜索(因为在有序列表中的搜索比在无序列表中更快)。但这会增加使用的存储空间(用于数据结构)和插入时间(以保持结构的排序)。

所以是的,你应该在这种情况下使用索引。

答案 1 :(得分:16)

如果选中此框,Core Data将构建值的索引,这将使搜索更快,更有效。这就像Spotlight使用的那样。没有索引,它每次都必须通过数据库。你说你需要快速查找值 - 然后你应该索引它们。