作为我昨天(New Core Data entity identical to existing one: separate entity or other solution?)提出的问题的答案,有人建议我索引一个属性。
在谷歌上搜索SQLite /核心数据中的“索引”之后,我恐怕不能确切地知道它是什么或者它如何根据属性加速提取。请记住,除了过去几个月基于读取方式,方式,方式,过多关于核心数据的模糊想法之外,我对SQLite /数据库一无所知。
答案 0 :(得分:3)
简单地说,索引是一种预先分类。如果您有数字属性索引,则商店会按数字顺序维护链接列表。如果您有文本属性,它会按字母顺序维护链接列表。根据算法,它还可以维护有关属性的其他类型的信息。它将数据存储在附加到持久性存储文件的索引中。
通过更大的文件大小和稍慢的插入,使得基于索引属性的提取变得更快。
答案 1 :(得分:2)
所有这些答案都很好,但过于技术性。
索引几乎与您在书后面找到的索引完全相同。因此,如果您想要找到某个单词出现在哪个页面,您可以按字母顺序查看,从而快速找到该单词出现的所有页面。
如果你没有索引,那么用户就不得不逐字逐句地浏览每一页,这可能需要一段时间。因此,索引几乎只以这种方式创建一次,而不是每次用户都想要搜索。
答案 2 :(得分:1)
Wikipedia对数据库索引有很好的解释:
“数据库索引是一种数据结构,它以提高写入速度和增加存储空间为代价提高数据库表上数据检索操作的速度。”