效能比較:INSTR 與LIKE
當涉及在'varchar' 類型的MySQL 列中搜尋字串時,' text' 、'blob'等,哪種方法效率較高: INSTR(columnname, 'mystring') > 0 或列名LIKE '%mystring%'?
答案
全文搜尋提供最佳效能。然而,當比較 INSTR 和 LIKE 時,兩種方法在常規非索引全表掃描中的表現是相同的。
詳細比較
在作者進行的測試中,INSTR和 LIKE 表現相同。但是,當使用僅帶有後綴通配符的 LIKE(例如列名 LIKE 'search%')對索引列執行前綴搜尋時,它的效能明顯優於 INSTR。
實作
INSTR 和 LIKE 都從左到右掃描列,將搜尋字串與儲存的資料進行比較。 INSTR 搜尋完全匹配,而 LIKE 允許通配符(% 和 _)進行部分匹配。
建議
對於不需要前綴匹配的索引列, INSTR 和 LIKE 都是具有相似性能的可行選項。但是,在處理非索引表或僅搜尋後綴時,建議使用帶有後綴通配符的 LIKE 以獲得更快的結果。
以上是MySQL 中的 INSTR 與 LIKE:哪個字串搜尋更有效率?的詳細內容。更多資訊請關注PHP中文網其他相關文章!