我想实现一些喜欢在wiki上搜索,当我想搜索“苹果”时,我键入“a”它显示单词从“a”开始......我知道它可以实现当我键入时,我提交搜索文章的SQL查询从“a”开始,但是当查询请求越来越多时,它变得缓慢......有没有什么性能转换技术可以做这种事情?谢谢。键入和搜索,如何提高性能?
0
A
回答
2
在服务器端,您应该缓存结果,理想情况是在内存中(例如:Memcached)。因此,如果有10人击中“a”,那么对数据库只有一个查询,而对存储器只有9个超快速数据访问。
至于带宽优化,您应该以JSON或一些自定义数据格式发送您的数据。见这真棒文章:Building Fast Client-side Searches
1
不知道你使用的是什么版本的SQL的,但有几个假设:
- 你必须在球场上,你正在寻找
- 你只返回所需的字段(如标题)的指数,不选择*
我会建议考虑是减少的行返回的数字取决于搜索查询的大小,类似:(伪代码,不知道你的SQL方言)
if len(searchString)<=3
select top 50 title from table order by title
else
select title from table order by title
较小的搜索可能会返回更多行,但大多数用户可能会在停止键入之前输入几个字母,因此对于初始查询,不要返回所有行。
0
不是一个技术性的答案的,也许不明显,但对于客户端,我认为你不能在按键,但按键后X毫秒后,并随病情推出搜索事件没有什么改变。
所以,如果我想寻找一个“字”,我输入“W”“O”在一个快速的方式“R”,“d”你只会使UNE请求,很明显,你可以优化该请求SQL方式
相关问题
- 1. 如何提高天青搜索性能
- 2. 提高搜索性能
- 3. 如何提高关键字搜索的性能?
- 4. 如何在输入时提高搜索的性能?
- 5. 排序的搜索提高性能
- 6. 如何提高typo3中索引搜索的性能?
- 7. 如何提高搜索
- 8. 如何提高MongoDB中多字段搜索的性能?
- 9. Android:如何提高列表视图搜索性能
- 10. 如何提高mongo简单搜索查询的性能
- 11. 如何提高MySQL中的搜索性能
- 12. 如何提高电子商务网站的搜索性能?
- 13. 提高搜索速度性能的提示:搜索结果检索?
- 14. MySQL索引 - 如何提高性能?
- 15. 删除主键(聚集索引)以提高插入性能
- 16. Apache Ignite:如何提高插入性能?
- 17. 提示,关于如何提高搜索引擎全文搜索
- 18. 如何提高性能和速度
- 19. 如何提高MySQL INSERT和UPDATE性能?
- 20. 如何提高CGContextFillRect和CGContextDrawImage性能
- 21. QPainter性能如何提高?
- 22. 如何提高ILIKE性能?
- 23. 如何提高webpack性能?
- 24. 如何提高性能..?
- 25. javascript - 如何提高性能?
- 26. itertools.product:如何提高性能?
- 27. 如何提高KML性能
- 28. 如何提高NSXMLParser性能
- 29. glClear()如何提高性能?
- 30. 如何提高性能fabric.Image.fromURL