बाएं जुड़ने का कोई मतलब नहीं है यदि आप केवल उन ट्रैक की तलाश कर रहे हैं जिनमें सभी शब्द हैं। मैं मान रहा हूँ कि (trackid
,wordid
) संयोजन trackwords
. में अद्वितीय है ।
SELECT t.id
FROM track as t, trackwords as tw, wordlist as wl
WHERE t.id=tw.trackid
AND wl.id=tw.wordid
AND wl.trackusecount>0 /* not sure what that is - you have it in your query */
AND wl.word in ('folsom','prison','blues')
GROUP by t.id
HAVING count(*) = 3
इस क्वेरी को वर्डलिस्ट (वर्ड), ट्रैकवर्ड्स (ट्रैकिड, वर्डिड) और ट्रैक (आईडी) पर इंडेक्स से फायदा होगा।