ホームページ >データベース >mysql チュートリアル >MySQL で複数の LIKE パターンを効率的にクエリするにはどうすればよいですか?
データが複数の LIKE パターンのいずれか 1 つに一致する必要がある場合、MySQL には 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 サイトの他の関連記事を参照してください。