在測試可變字元長度的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 之外,MySQL 還支援全文搜尋以提高效能。但是,當表格列使用全文索引並且您要搜尋的字串出現在列開頭附近時,這些搜尋效率最高。
在實務上,可以選擇INSTR 和 LIKE 取決於特定的用例:
以上是MySQL 中的 INSTR 與 LIKE:哪種字串匹配方法比較快?的詳細內容。更多資訊請關注PHP中文網其他相關文章!