【发布时间】:2014-10-12 22:49:48
【问题描述】:
因此,第一种方法是将原始源(巨大)数组放在内存中(最初取自 sqlite 数据库),然后在每次 textDidChange 事件触发时根据 NSPredicate 过滤该数组。
我还可以使用“where”和“limit”子句来过滤数据库表。
我现在正在使用第一种方法,过滤需要相当长的时间。我想知道如何提高效率。
这些方法中的哪一种可以解决性能问题?
【问题讨论】:
-
我可能会选择查询 sqlite 数据库,即使它稍微慢一些,因为这样可以节省大量内存。但是,要获得问题的真正答案,您必须确定时间,因为每个案例都不同。
-
为什么您的查询不能被索引?
-
无法索引的原因是因为查询涉及“like %x%x%”之类的模式。我不认为我们可以索引这种查询,可以吗?
标签: ios objective-c sqlite uitableview