Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

वैकल्पिक MySQL फुलटेक्स्ट सर्च सिंटैक्स

दुर्भाग्य से, 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 क्लॉज में होनी चाहिए।"




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql NULL मान जहां क्लॉज में है

  2. रेल में विदेशी कुंजी बाधा के लिए समर्थन

  3. dql का उपयोग करके डेटा तालिका से अद्वितीय मान कैसे प्राप्त कर सकते हैं?

  4. Mysql कर्सर और इटरेटर के बारे में

  5. JDBC के साथ डेटाबेस सर्वर कनेक्शन वैरिएबल प्राप्त करें और सेट करें