ホームページ  >  記事  >  データベース  >  ## MySQL における LIKE と LOCATE: パフォーマンスの点で優れているのはどちらの演算子ですか?

## MySQL における LIKE と LOCATE: パフォーマンスの点で優れているのはどちらの演算子ですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-25 03:18:02874ブラウズ

##  LIKE vs LOCATE in MySQL: Which Operator is King for Performance?

MySQL LIKE と LOCATE のパフォーマンスの比較

MySQL でデータを検索するとき、LIKE と LOCATE のどちらの演算子がより効率的であるか疑問に思うかもしれません。この記事では、これら 2 つの演算子のパフォーマンスの違いについて説明します。

一般的な使用シナリオでは、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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。