MySql全文檢索使用詳解


實際項目中經常會有一個字段存儲多個值用逗號分隔的場景,當分開查詢的時候,使用模糊查詢會非常影響效率。mysql提供了全文檢索函數可以有效解決這一問題:

1.數據結構

ID CODE MSG
1 1111111,2222222,3333333 數據一
2 4444444,5555555 數據二

2.創建Full Text類型索引

當我們要以CODE為條件使用全文檢索查詢的時候,首先要給CODE字段創建Full Text類型索引:

create fulltext index index_CODE on table(CODE)

3.查詢語句

比如我們要查詢CODE中包含2222222的數據

SELECT * FROM table WHERE MATCH (CODE) AGAINST ('2222222')

4.特殊情況說明

全文檢索函數識別分隔符不僅有“,”還有“-”,實際項目中經常會用到一串編碼來標識一條數據(比如商城的訂單號),編碼中就經常出現“-”,這種情況全文檢索也會識別成分隔符,比如:

ID CODE MSG
1 111-1111,222-2222,333-3333 數據一
2 444-4444,555-5555 數據二

解決方案:第一步和第二步不變,查詢語句修改為:

SELECT * FROM table WHERE MATCH (CODE) AGAINST ('"222-2222"')


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM