哪种过滤数据,NSPredicate或SQLite更快/更高效?

时间:2014-08-19 18:08:41

标签: ios objective-c sqlite uitableview

因此,第一种方法是将原始源(巨大)数组放在内存中(最初从sqlite数据库中获取),然后在每次textDidChange事件触发时根据NSPredicate过滤该数组。

我还可以使用“where”和“limit”子句来执行SQLite查询(由于查询格式无法编入索引),以过滤数据库表。

我现在正在使用第一种方法,需要花费大量时间进行过滤。我想知道如何提高效率。

这些方法中的哪一种可以解决性能问题?

1 个答案:

答案 0 :(得分:0)

如果您使用CoreData,则NSPredicate实际上会转换为SQLite代码,因此您 正在执行SQLite操作。

如果您的数据在内存中,那么使用Objective-C或Swift代码比NSPredicate效率更高。您只需要知道自己在做什么,因为NSPredicate会为您处理是否区分大小写之类的事情。