दुर्भाग्य से, MySQL SELECT दस्तावेज़ के अनुसार , "बिना किसी अनुकूलन के, क्लाइंट को आइटम भेजे जाने से ठीक पहले, HAVING क्लॉज लगभग आखिरी बार लागू होता है।"
अंतर यह है कि पहली क्वेरी प्रासंगिकता की गणना करने के लिए पूर्ण टेक्स्ट इंडेक्स का उपयोग करेगी केवल उन पंक्तियों के लिए जिनका name
. में 'Bob' है . दूसरी क्वेरी सभी . के लिए प्रासंगिकता की गणना करेगी पंक्तियाँ, फिर उनमें से अधिकांश को बाहर फेंक दें (संभवतः पूरी तालिका को छाँटने के बाद)। इसलिए, दूसरी क्वेरी काफी धीमी है। भले ही आप ORDER BY क्लॉज को पहली क्वेरी में डाल दें, फिर भी यह HAVING का उपयोग करने की तुलना में तेज़ होगा:
SELECT name, MATCH(name) AGAINST('Bob') AS relevance
FROM users
WHERE MATCH(name) AGAINST('Bob')
ORDER BY relevance DESC
सामान्य तौर पर, "उन वस्तुओं के लिए HAVING का उपयोग न करें जो WHERE क्लॉज में होनी चाहिए।"