2012-05-07 10 views
0

私は3つのテーブルを持っています。3テーブル参加

1つは記事付きで、1つは記事のタグ付きで、多対多の関係でこれらの表をリンクする表です。各記事にはいくつかのタグがあり、タグテーブルとデータ整数を保持するために、それらをリンクするためのテーブルが必要です。

ここで、特定のキーワードのタグを検索し、これらのタグにリンクされている記事を選択する必要があります。これに最も効率的な方法は何ですか?ここでは、テーブルの視覚的なプレゼンテーションです:

enter image description here

+2

あなたは何を試してみましたを作ることができますか?最も効率的な方法である必要はありません_しかし、方法です。 – gdoron

答えて

2

記事/文書を検索するための最も効率的な方法は、リレーショナルDBを使用するではありません。それはフォルテではありません。例えばSOLRはそれには完璧です。

しかし:

SELECT 
    a.id 
FROM 
    article a 
    join 
    article_tags b 
    on 
    a.id = b.article_id 
    join 
    tags c 
    on 
    b.tag_id = c.id 
where 
    c.tag_name = {$cleaned_input_tag_name} 

uはALOS c.tag_name = {$cleaned_input_tag_name} IN文またはLIKE声明

関連する問題