youtube,google,facebook甚至Stackoverflow如何通过自动编辑框实现卓越性能?这真的很快,感觉就像是一个本地搜索,即使在后台他们可能正在调用数据库。 (想象一下数据库调用所需的所有资源!)
是关于服务器和带宽的全部吗?
使用这项技术最大限度地提高性能的策略是什么?寻找如
1)在用户输入至少3个字母后启动ajax回调
2)缓存DB结果?如果是这样的话?
3)预加载数据?如果是这样的话
4)等...
如果在使用asp.net mvc和sql server 2008时这很重要。
答案 0 :(得分:2)
有些查询自然会变得更快(并且可以使用客户端缓存)。这适用于任何查询,当“关键字”增长时,结果始终是先前结果的子集。
e.g。假设您正在寻找电子邮件联系人...(8,000个联系人)
Typed | Results | Search | Cached?
"j" | 2,500 | server | server
"je" | 847 | server | server (+ client?)
"jef" | 192 | server | server + client
"jeff"| 23 | client | client
您必须确定缓存结果的最佳时间/地点,但是一旦设置了“小”(例如小于250),您也可以在客户端上搜索缓存。
答案 1 :(得分:1)
尝试并使用Firebug来查看谷歌回调会发生什么,这是令人印象深刻和解释性的。
答案 2 :(得分:0)
仅将其用于可以缓存的查询(查找可用于服务器端语言/体系结构和数据库的DB缓存技术(例如memcached)...没有任何MS技术经验)很快(例如,当搜索文章时只搜索标题而不是整个文本......这就是高级搜索的用途)。如果可能,您也应该为这些调用优化数据库(索引)。当然限制结果(我的猜测是传输所有数据的时间(请求响应)比数据库查询本身更长。)