WHERE 句の MySQL CONCAT() 関数を使用した効率的な検索
一般的なデータベース操作の 1 つは、複数の列にわたるデータの検索です。ただし、姓名フィールドを別々に使用して名前を検索する場合、不完全な一致をキャプチャするなどの制限が発生する可能性があります。
これを克服するには、MySQL CONCAT() 関数を使用して列を結合して、検索用の単一フィールド。これにより、姓と名の両方を正確に照合する、より効率的な検索プロセスが提供されます。
WHERE 句での CONCAT() の使用
CONCAT() を効果的に使用するには、次のようにします。検索する列を連結します:
select * from table where concat_ws(' ',first_name,last_name) like '%search_term%';
このクエリは、first_name のいずれかが含まれるすべての行を返します。
例
first_name 列と last_name 列を持つテーブルがあり、「Larry Smith」を検索するとします。 CONCAT() を使用すると、クエリは次のようになります。
select * from table where concat_ws(' ',first_name,last_name) like '%Larry Smith%';
このクエリは、目的のクエリを取得します。
最適化
最適なパフォーマンスを得るには、WHERE の最後のセグメントとして CONCAT() ステートメントを含めることをお勧めします。他の関連フィールドを検索した後、句を追加します。このアプローチは、関数を検索クエリの途中または先頭に配置するよりも効果的であることが証明されています。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3