我正在尝试使用客户端JavaScript实现Fusion Tables界面中提供的自动完成逻辑:
到目前为止,我发现了这个,效果很好:https://developers.google.com/fusiontables/docs/samples/autocomplete
它允许我检索属性的所有值,组合在一起,这样我就可以自动完成它们。问题是它非常慢。查询
"SELECT 'Store Name', COUNT() " +
'FROM ' + tableId + " GROUP BY 'Store Name'
每次运行最多需要10秒钟。这是因为我的桌子很大,超过15万行。
但是,上面屏幕截图中的原生界面死快。我试着查看代码,看看他们正在进行什么类型的查询(也许他们有这些结果的缓存),但我找不到任何可以引导我找到解决方案。
有什么想法吗?我的想法是,如果谷歌原生界面正在这样做,那么我肯定也有办法做到这一点......我想避免使用第三方服务器来缓存这些结果,这将是一个容易解决,这不是我的问题的解决方案。
答案 0 :(得分:0)
我认为他们在服务器端使用类似嵌套集和特里数据结构的东西。嵌套集对于查询而言是快速的,但对于插入而言不是快速的,并且特里数据结构对于文本检索也是快速的。我认为你可以将2结合起来进行快速查找。