首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CoreData。索引和索引有什么区别?

问CoreData。索引和索引有什么区别?
EN

Stack Overflow用户
提问于 2016-03-10 03:37:54
回答 2查看 5.6K关注 0票数 19

我希望加快对SQL支持的CoreData实例的查询速度(显示按日期排序的记录)。我知道索引可以帮助减少查询时间,但在以下方面有什么区别:

突出显示属性所属的实体,然后在索引字段中添加逗号分隔的属性列表,如下所示:

​

​

或者高亮显示属性,然后检查索引框,如下所示:

​

​

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-15 06:49:05

向Indexes列表中添加一个属性的行相当于为该属性选择Indexed:它为属性创建一个索引,以加快查询语句中的搜索速度。

Indexes列表用于复合索引。当您知道要搜索在查询的WHERE子句中组合的这些属性的值时,复合索引非常有用:

代码语言:javascript
复制
SELECT * FROM customer WHERE surname = "Doe" AND firstname = "Joe";

该语句可以使用复合索引surname, firstname。如果只搜索surname,而只搜索firstname,则该索引也将是有用的。把索引想象成电话簿一样:它先按姓氏排序,然后再按名字排序。所以属性的顺序很重要。

在您的示例中,您应该首先选择单个索引(即选择Indexed作为您想要搜索的属性)。例如,如果只搜索babyId,则无法使用所显示的复合索引。

票数 14
EN

Stack Overflow用户

发布于 2018-02-08 16:20:51

在WWDC 2017上,苹果更新了它,使用Fetch Index(参见:https://developer.apple.com/videos/play/wwdc2017/210/?time=997)添加它,然后选择实体,然后转到Editor -> Add Fetch Index。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35907115

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档