加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ios – Xcode Core-Data数据模型检查器中的索引是什么

发布时间:2020-12-15 02:00:00 所属栏目:百科 来源:网络整理
导读:在Xcode中,您可以在数据模型检查器中为实体添加“索引”。 对于截图我确实打了“添加”两次,所以“逗号,分隔,属性”只是默认值。 那些索引究竟是什么? 他们与索引属性有关吗?如果他们在指定此检查器中的索引并为单个属性选择“索引”之间有什么区别?
在Xcode中,您可以在数据模型检查器中为实体添加“索引”。

对于截图我确实打了“添加”两次,所以“逗号,分隔,属性”只是默认值。

那些索引究竟是什么?
他们与索引属性有关吗?如果他们在指定此检查器中的索引并为单个属性选择“索引”之间有什么区别?

解决方法

Optimizing Core Data searches and sorts

如标题所示,索引是加快搜索和排序您的数据库。然而,它减慢了对持久性存储的保存更改。当您在查询中使用NSPredicates和NSSortDescriptor对象时很重要。

假设你有两个实体:PBOUser和PBOLocation(很多到很多)。您可以在下面的图片中看到它的属性:

假设在数据库中有10 000个用户和5万个位置。现在我们需要找到每个用户的电子邮件。如果我们提供没有索引的查询,Core Data必须检查每个记录(基本为10 000)。

但是如果它被索引(在另一个字母按电子邮件降序排列)呢? – >然后CoreData仅检查以a开头的记录。如果Core数据达到b然后停止搜索,因为很明显,由于索引已经没有更多的电子邮件开头。
怎么做?

要么:

希望他们是相当的:-)

但是如果你愿意的话:电子邮件以a开头,名字以b开头你可以做这个检查INDEXED为PBOUser实体的name属性,或者:

这是如何优化您的数据库:-)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读