ホームページ > データベース > mysql チュートリアル > MySQL で複数の LIKE パターンを効率的にクエリするにはどうすればよいですか?

MySQL で複数の LIKE パターンを効率的にクエリするにはどうすればよいですか?

Susan Sarandon
リリース: 2025-01-20 13:27:10
オリジナル
738 人が閲覧しました

How Can I Efficiently Query Multiple LIKE Patterns in MySQL?

複数の LIKE パターンを効率的にクエリする

データが複数の LIKE パターンのいずれか 1 つに一致する必要がある場合、MySQL には OR 条件を再利用する代替手段が用意されているのでしょうか?

OR 条件を使用した従来の方法

伝統的に、クエリは次のようになります:

<code class="language-sql">SELECT *
FROM fiberbox f
WHERE
  f.fiberBox LIKE '%1740 %' OR f.fiberBox LIKE '%1938 %' OR f.fiberBox LIKE '%1940 %';</code>
ログイン後にコピー

代替案を検討してください

目標は、仮説的な LIKE IN() に似た、よりクリーンで効率的なメソッドを見つけることです。直接的な LIKE IN() 構造はありませんが、他のオプションがあります。

効率的なパターン マッチングには正規表現を使用します

複数の OR 条件を置き換える 1 つの方法は、正規表現 (regexp) を使用することです。

<code class="language-sql">SELECT *
FROM fiberbox f
WHERE
  f.field REGEXP '1740|1938|1940';</code>
ログイン後にコピー

このクエリの正規表現は、パターン '1740'、'1938'、または '1940' を含むフィールド列の任意の値と一致します。このアプローチでは、すべてのパターンが 1 つのステートメントに結合され、クエリが簡素化され、状況によってはパフォーマンスが向上する可能性があります。

以上がMySQL で複数の LIKE パターンを効率的にクエリするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート