背景: 最佳化利用LIKE '%string%' 的查詢語法可能具有挑戰性,尤其是在InnoDB 環境中。為了解決這個問題,讓我們深入研究可用的選項及其限制。
基本索引的限制:
建立標準索引,如ALTER TABLE 範例ADD INDEX 所示idxSearch(關鍵字);無法解決LIKE '%whatever%' 等查詢的效能問題。這是因為 InnoDB 索引是從字串的開頭到結尾建構的。因此,字串可以出現在欄位內任何位置的「浮動」搜尋無法利用這些索引。
引入全文索引:
用於靈活的字串搜索,全文索引開始發揮作用。它們專為搜尋字詞可以出現在索引列中任何位置的場景而自訂。 InnoDB 從版本 5.6.4 開始支援全文索引,即使對於 InnoDB 表也可以利用其優勢。
實作:
要實現全文索引,請執行以下查詢:
ALTER TABLE example ADD FULLTEXT INDEX (keywords)
全文索引的好處:
其他注意事項:
以上是全文索引如何增強 InnoDB 中 LIKE \'%string%\' 查詢的效能?的詳細內容。更多資訊請關注PHP中文網其他相關文章!