記事テーブルがあり、記事テーブルのタグに関連付けられたフィールドがあります。 tag tag フィールドの内容は基本的に次のとおりです。 1,2,3,333,230 (関連付けられたタグ ID、カンマで区切られています) ここで、タグ ID 3 の記事を検索したいと考えています。LIKE %3% を使用すると、333,230 個のタグの内容が検索されるようです。 br>変更なし テーブル構造の場合、クエリ方法はありますか?
tag
SELECT * FROM test WHERE find_in_set('3',tag)
リーリー
%,3,% のようにカンマを追加してください
find_in_set、要件を満たすためにこれを使用します。like.... を使用しないでください。
分類関係を維持するために別のテーブルを使用することをお勧めします。 find_in_set は、インデックスを使用しない完全なテーブル スキャンです。それまでにデータベースに問題が発生するでしょう
SELECT * FROM test WHERE find_in_set('3',tag)
リーリー
%,3,% のようにカンマを追加してください
find_in_set、要件を満たすためにこれを使用します。like.... を使用しないでください。
分類関係を維持するために別のテーブルを使用することをお勧めします。 find_in_set は、インデックスを使用しない完全なテーブル スキャンです。それまでにデータベースに問題が発生するでしょう