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

Linda Hamilton
リリース: 2024-10-25 03:18:02
オリジナル
873 人が閲覧しました

##  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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!