我应该索引NSSortDescriptor中使用的属性吗?
问题描述:
如果我执行核心数据读取请求,并应用一种描述符如说:我应该索引NSSortDescriptor中使用的属性吗?
NSSortDescriptor *sort= [[NSSortDescriptor alloc] initWithKey:@"createDate" ascending:NO];
应财产createDate
是一个索引属性?为什么或者为什么不?
答
数据库索引附带价格。数据库必须保持索引最新,这会降低插入,删除和可能的更新速度。写性能。
但索引加快查询和订单条款。阅读表现。
这是两者之间的权衡。对你最重要的是什么?阅读或写作表现?
那么,索引有另一个副作用:内存使用。如果你需要对一些条目进行排序,即使只有一次,没有索引,你也必须在内存中排序它们。这意味着将它们加载到内存中,所有这些。至少你正在排序的列,而不是整个事情。但仍然。
一如既往,仪器是决定什么是最好的最佳方法。
什么是索引属性? – dasdom
它是核心数据SQLite数据存储的一部分。在对象模型中,每个属性都可以选择索引。 – bitmoe
我想我从来没有使用索引的属性。你有没有试过它? – dasdom