MySQL 字串匹配INSTR 和LIKE 的效能比較
在MySQL 中,在列內搜尋字串時,常用的方法有字串兩種: INSTR 和LIKE。哪個更快更有效率?
INSTR 與LIKE
INSTR(columnname, 'mystring') >如果在列名中找到“mystring”,則0 傳回true,而如果在列名中的任何位置找到“mystring”,則columnname LIKE '%mystring%' 傳回true。 'varchar'、'text'、'blob' 等類型的字串列支援 INSTR 和 LIKE。
效能測試
在測試中,計數在超過 40,000 行的表中出現“search”,INSTR 和 LIKE 執行相同,大約需要 5.54秒。但是,當使用僅帶有後綴通配符(例如「search%」)的 LIKE 時,查詢速度明顯加快,僅花費 3.88 秒。
全文搜尋
儘管原始問題中沒有具體提到,但值得注意的是,對於基於文本的查詢,全文搜尋通常更快。然而,它們需要使用專門的索引,並且並不總是適合所有場景。
結論
對於全表掃描,INSTR 和 LIKE 都帶有前綴和後綴通配符的作用類似。但是,當在文字列開頭搜尋字串時,帶有後綴通配符的 LIKE 會變得更有效率。在效能至關重要的情況下,考慮使用全文搜尋可能會提供最佳結果。
以上是MySQL 中的 INSTR 與 LIKE:哪個字串匹配函數比較快?的詳細內容。更多資訊請關注PHP中文網其他相關文章!