2 秒で実行されるクエリに問題があります。サブクエリは 600 行を返すため、IN 演算子を使用しないクエリまたはより高速なクエリが必要です。
現在、私はこのクエリを持っています:
SELECT tag.idtag, tag, COUNT(*) AS nombre
FROM tag, questtag
WHERE tag.idtag = questtag.idtag
AND idquestion IN (
SELECT question.idquestion
FROM question, questtag
WHERE question.idquestion = questtag.idquestion AND idtag IN (1)
GROUP BY question.idquestion
HAVING COUNT(*) = 1
)
GROUP BY tag
ORDER BY nombre DESC, tag
LIMIT 0, 24
私はSQLに言いたい:「スタックオーバーフローのようなJavascriptタグ(交差制約)に関連する他のタグを取得してください。」
質問、クエストタグ、タグの 3 つのテーブルがあります。質問とタグは questtag テーブルで関連付けられています。
SQL スキーマ:
QUESTION (idquestion、質問) :
1、「JavascriptとJquery」
2、「HTML、CSS、Javascript」
....
QUESTTAG (#idquestion, #idtag) :
1、1
1、2
2、3
2、4
2、1
....
QUESTTAG (#idtag、タグ) :
1、ジャバスクリプト
2、Jクエリ
3、HTML
4、CSS
....
Javascriptでは、 Jquery、HTML、CSSを取得する必要があります。Javascript、HTML では、CSSを取得する必要があります。