MySQL のカンマ区切りフィールドで特定の値を効率的に検索するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-11-08 01:26:02
オリジナル
918 人が閲覧しました

How Can I Efficiently Search for a Specific Value in a Comma-Separated Field in MySQL?

MySQL でのカンマ区切り値の検索

他のテーブルへの参照としてカンマ区切りのリストを含むテーブルに遭遇することは珍しいことではありません。これらの状況は、好ましくないものであることは認識されていますが、LIKE クエリを使用してフィールド内を検索しようとすると課題が生じます。

特定の値を検索しようとする場合、「%1%」のような LIKE クエリを使用すると、次のような結果が生じる可能性があります。これらの ID が存在する範囲 (10 ~ 20) が一般的であるため、多数の陽性一致が存在します。これに対処するには、%,1,% として一致を検索することを検討できます。ただし、このアプローチでは、リストの先頭または末尾の ID を考慮することができません。

実行可能な解決策には、ユーザーがカンマ区切りフィールド内の値を検索できるようにする FIND_IN_SET 関数を利用することが含まれます。 FIND_IN_SET('1', field) を使用することにより、クエリはフィールドに値 '1' を含むレコードを識別します。この関数は、カンマ区切りリスト内の特定の値を検索する問題を効果的に解決し、データベース クエリの精度を高めます。

以上がMySQL のカンマ区切りフィールドで特定の値を効率的に検索するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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