首頁  >  文章  >  資料庫  >  MySQL 中的 INSTR 與 LIKE:哪個字串搜尋更有效率?

MySQL 中的 INSTR 與 LIKE:哪個字串搜尋更有效率?

DDD
DDD原創
2024-11-20 02:29:01689瀏覽

INSTR vs. LIKE in MySQL: Which is More Efficient for String Searching?

效能比較: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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn