我會試着解釋我的情況:我試圖爲我的網站上的產品創建一個搜索引擎,所以當用戶需要找到一個產品時,我需要顯示類似的產品,這裏是一個例子。MySQL的全文搜索匹配類似的結果
用戶搜索:
assassins creed
或assassinscreed
或aSsAssIn's CreeD
假設沒有字母/數字拼寫錯誤(這3個查詢應產生相同的結果)
預期結果:
Assassin's Creed
和Assassin's Creed: Unity
和Assassin's Creed: Special Edition
我到目前爲止試過了什麼
- 我已經創建了一個MySQL字段包含了產品的解析名稱的搜索引擎(
Assassin's Creed: Unity -> assassinscreedunity
- 我分析
- 我搜索使用MySQL的
INSTR()
我的問題
搜索查詢我很好,通過使用這個,但我聽到它可以慢,當行數增加,我創建了一個全文索引在我的表中,但我不認爲這會有所幫助,所以我需要另一個溶膠ution。
感謝您的任何回答,並在downvoting之前問我任何問題。
您是否遇到性能問題或者您是否聽說過它可能會很慢? – andy 2014-09-21 10:12:24
@andy我在某處讀過,它和'LIKE'一樣,它不經過使用和索引而遍歷所有記錄,所以我認爲當行數增加時它會減慢很多。 – 2014-09-21 10:13:56
您期待的行數是多少?如果您只有一個包含幾百個遊戲名稱的表格,則無需擔心。 – andy 2014-09-21 10:18:21