MySQL LIKE 與 LOCATE:哪個效能比較好?
資料庫查詢通常涉及在表格列中搜尋特定術語。用於此目的的兩個常見運算子是 LIKE 和 LOCATE。本文旨在確定執行此類搜尋時哪個運算符提供更好的效能。
LIKE 與 LOCATE
LIKE 運算子使用通配符 (%) 來匹配任意數量的人物。相較之下,LOCATE 運算子採用字串並傳回其在列中第一次出現的位置。
效能比較
基準測試顯示 LIKE 運算子通常執行比 LOCATE 稍微快一些。這主要是因為 LIKE 不需要額外的比較(“> 0”)來確定匹配是否有效。
基準測試結果
使用基準測試經過1 億次迭代,效能比較得出以下結果:
Operator | Time (seconds) |
---|---|
LOCATE (without comparison) | 3.24 |
LOCATE (with comparison) | 4.63 |
LIKE | 4.28 |
結論
雖然LIKE 和LOCATE 之間的效能差異很小,但LIKE 的出現是子字串搜尋的更有效選擇。這項優點源自於它能夠避免 LOCATE 所需的額外比較。但是,需要注意的是,這些基準可能會根據特定的資料庫版本和表格大小而有所不同。
以上是## MySQL 中的 LIKE 與 LOCATE:子字串搜尋哪個比較快?的詳細內容。更多資訊請關注PHP中文網其他相關文章!