我想實現一些喜歡在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