我有一个巨大的表,在sqlite中有+ 40k记录(电视节目标题),我想对这个表进行实时查找。例如,如果用户搜索节目,当用户输入搜索词时,我会在每次击键后读取sqlite并过滤记录(如谷歌搜索建议)
我的性能基准是100毫秒。我想到的一些事情是:创建索引,将数据拆分成多个表。
然而,我真的很感激任何建议,以尽可能快的时间实现这一点,所以我可以避免任何ui刷新延迟 - 从已经做过类似的编码器获得反馈将是很棒的
提前致谢
答案 0 :(得分:5)
要做的事情:
你可能会发现我所拥有的东西:只要你不做任何真正愚蠢的事情,SQLite和iPhone实际上都是非常有能力的。
答案 1 :(得分:2)
记住“感知性能” - 在敲击密钥后立即进行查找可能有些昂贵。但是,用户敲击密钥需要多少毫秒?在用户没有输入几百毫秒的任何内容之前,您可能无法更新结果列表。 (对于真正快速的用户,也许在他还在打字的时候更新每X百毫秒)。
答案 2 :(得分:1)
你怎么知道性能会不好? 40k行并不是那么多,即使对于iPhone来说......在优化之前在手机上试试。
答案 3 :(得分:0)
避免进行任何连接,尝试使用分页,以便将返回的数据量保持在最低限度。也许您应该尝试将整个内容加载到内存中,然后排序并进行二分查找?如果它只是一个节目标题列表,它适合吗?