gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 08:03:31 26 4
gpt4 key购买 nike

在 Xcode 中,您可以在数据模型检查器中为实体添加“索引”。

Xcode sidebar showing the Indexes view

对于屏幕截图,我确实点击了“添加”两次,因此“逗号、分隔、属性”只是默认值。

这些索引到底是什么?
它们与索引属性有什么关系吗?如果他们知道,在此检查器中指定索引和为单个属性选择“索引”之间有什么区别?

最佳答案

Optimizing Core Data searches and sorts

正如标题所说,索引是为了加速搜索和排序您的数据库。但是,它减慢了将更改保存到持久存储的速度。当您在查询中使用 NSPredicateNSSortDescriptor 对象时,这一点很重要。

假设您有两个实体:PBOUserPBOLocation (多对多)。您可以在下图中看到它的属性:

enter image description here

假设数据库中有 10,000 个用户和 50,000 个位置。现在我们需要找到所有电子邮件以 a 开头的用户。如果我们在没有索引的情况下提供此类查询,Core Data 必须检查每条记录(基本上是 10,000 条)

但如果它被索引(换句话说按电子邮件降序排序)怎么办? --> 然后 Core Data 只检查那些以 a 开头的记录。如果 Core Data 到达 b 那么它会停止搜索,因为很明显没有更多的记录的电子邮件以 a 开头,因为它已被索引。

如何在 Xcode 中对 Core Data 模型启用索引:

enter image description here
或:
enter image description here

希望它们是等价的:-)

但是,如果您想要怎么办:电子邮件以 a 开头,名称以 b 开头 您可以检查 name 的 INDEXED PBOUser 实体的 属性,或者:

enter image description here

这是优化数据库的方法:-)

关于ios - Xcode Core-Data 数据模型检查器中的索引是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8562711/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com