我在stackoverflow上找過這個問題,但沒有找到真正的好答案。在大型MySQL數據集中搜索部分單詞的最佳方法
我有有關特定產品的信息幾張桌子MySQL數據庫。當最終用戶在我的應用程序中使用搜索功能時,它應搜索特定列中的所有表。
由於加入並在不執行得很好很多where子句中,我創建了一個存儲過程,其將這些表和列中的所有單個單詞起來,將它們插入表。這是'word'和'productID'的組合。 此表包含超過330萬條記錄。
此刻,我可以搜索我是否匹配整個單詞或單詞(如「搜索關鍵詞%」)的開始相當快。這很明顯,因爲它現在使用索引。
然而,我的客戶希望對部分字(LIKE '%搜索關鍵詞%')進行搜索。這根本沒有執行。此外FULLTEXT搜索不是選項,因爲它只能搜索一個單詞的開頭,後面帶有通配符。
那麼,什麼是像這樣的搜索功能的最佳做法是什麼?
有真正優化LIKE與SQL查詢的領先通配符搜索沒有什麼好辦法。 –