MySQL 中的 INSTR 與 LIKE:哪種字串匹配方法比較快?

Mary-Kate Olsen
發布: 2024-11-20 03:12:02
原創
969 人瀏覽過

INSTR vs. LIKE in MySQL: Which String Matching Method Is Faster?

效能分析:MySQL 中的INSTR 與LIKE 字串符合

在測試可變字元長度的MySQL 欄位中是否存在字串時,會出現一個關於用於提高效率和速度的最佳方法。兩種常見的方法有:

1。 INSTR(列名, 'mystring' ) > 0
2。 columnname LIKE '%mystring%'

效能評估

在速度方面,我們的測試揭示了一個令人驚訝的結果:INSTR 和LIKE 在檢查子字串是否存在時表現相同。例如:

INSTR(Name,'search') > 0
LIKE '%search%'
登入後複製

兩個查詢都掃描了整個表,大約需要 5.54 秒才能完成。然而,當對索引列執行前綴搜尋時,僅帶有後綴通配符的 LIKE 運算子的效能明顯優於 INSTR:

LIKE 'search%'
登入後複製

此最佳化的前綴搜尋僅花費了 3.88 秒。

超越 INSTR和 LIKE

除了 INSTR 和 LIKE 之外,MySQL 還支援全文搜尋以提高效能。但是,當表格列使用全文索引並且您要搜尋的字串出現在列開頭附近時,這些搜尋效率最高。

注意事項

在實務上,可以選擇INSTR 和 LIKE 取決於特定的用例:

  • 對於全表掃描,INSTR 和 LIKE 的效能類似。
  • 對於索引列上的前綴搜索,LIKE 帶有後綴通配符更快。
  • 對於更複雜或精密的搜尋要求,應考慮全文搜尋。

以上是MySQL 中的 INSTR 與 LIKE:哪種字串匹配方法比較快?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板