最佳化InnoDB 中的MySQL LIKE 查詢
使用帶有尾隨通配符('%...')的查詢InnoDB表時,了解其索引限制非常重要。
了解索引限制
InnoDB 中的索引通常是從字串的開頭建構的。雖然像 LIKE 'whatever%' 這樣的查詢可以利用這些基於開始的索引進行高效查找,但 LIKE '%whatever%' 查詢卻不能。
這是因為尾隨通配符刪除了開頭的錨點搜尋字詞,使其「浮動」在字串中。因此,必須搜尋整個字段,導致基於 start 的索引無效。
解決方案:使用全文索引
對於像 LIKE '% 這樣的「浮動」搜尋...建議查詢、全文索引。全文索引針對這種類型的使用進行了最佳化,無論通配符在字串中的位置如何,都可以進行高效搜尋。
InnoDB 和全文索引
歷史上,InnoDB 並沒有支援全文索引。然而,從5.6.4版本開始,InnoDB完全支援全文索引。這使您可以利用 InnoDB 的事務和一致性優勢,同時享受高效的全文搜尋。
以上是以下是一些基於問題的標題,它們抓住了文章的精髓,重點關注與 InnoDB 中帶有尾隨通配符的'LIKE”查詢相關的挑戰和解決方案: * **如何最佳化的詳細內容。更多資訊請關注PHP中文網其他相關文章!