MySQL LIKE 與LOCATE 效能比較
在MySQL 中搜尋資料時,您可能會想知道哪個運算子更有效率:LIKE 或LOCATE ?本文探討了這兩個運算子之間的效能差異。
在典型的使用場景中,LIKE 比 LOCATE 稍快。這主要是因為 LIKE 不像 LOCATE 那樣對 0 執行額外的比較。
如下面的基準測試結果所示,對於大量迭代,LIKE 的表現始終略優於LOCATE:
mysql> SELECT BENCHMARK(100000000,LOCATE('foo','foobar')); +---------------------------------------------+ | BENCHMARK(100000000,LOCATE('foo','foobar')) | +---------------------------------------------+ | 0 | +---------------------------------------------+ 1 row in set (3.24 sec) mysql> SELECT BENCHMARK(100000000,LOCATE('foo','foobar') > 0); +-------------------------------------------------+ | BENCHMARK(100000000,LOCATE('foo','foobar') > 0) | +-------------------------------------------------+ | 0 | +-------------------------------------------------+ 1 row in set (4.63 sec) mysql> SELECT BENCHMARK(100000000,'foobar' LIKE '%foo%'); +--------------------------------------------+ | BENCHMARK(100000000,'foobar' LIKE '%foo%') | +--------------------------------------------+ | 0 | +--------------------------------------------+ 1 row in set (4.28 sec)
需要注意的是,這些結果可能會有所不同,具體取決於特定的資料庫版本以及您正在搜尋的表的大小和內容。然而,一般來說,LIKE 被認為是通配符搜尋更有效的運算子。
以上是## MySQL 中的 LIKE 與 LOCATE:哪個運算子是效能之王?的詳細內容。更多資訊請關注PHP中文網其他相關文章!