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

कैसे करें:रैंकिंग खोज परिणाम

आप इसे MySQL में 'UNION ALL' का उपयोग करके एक प्रश्न में प्राप्त कर सकते हैं।

PHP में टोकन के माध्यम से बस लूप करें, प्रत्येक टोकन के लिए एक यूनियन बनाएं:

उदाहरण के लिए यदि टोकन 'x', 'y' और 'z' हैं तो आपकी क्वेरी कुछ इस तरह दिख सकती है

SELECT * FROM `entries` 
WHERE token like "%x%" union all 
    SELECT * FROM `entries` 
    WHERE token like "%y%" union all 
        SELECT * FROM `entries` 
        WHERE token like "%z%" ORDER BY score ect...

ऑर्डर क्लॉज को पूरे परिणाम सेट पर एक के रूप में काम करना चाहिए, जो कि आपको चाहिए।

प्रदर्शन के मामले में यह सब तेज़ नहीं होगा (मैं अनुमान लगा रहा हूं), हालांकि डेटाबेस के साथ गति के मामले में मुख्य ओवरहेड अक्सर PHP से डेटाबेस इंजन को क्वेरी भेज रहा है और परिणाम प्राप्त कर रहा है। इस तकनीक के साथ यह प्रति टोकन एक बार के बजाय केवल एक बार होता है, इसलिए प्रदर्शन में वृद्धि होगी, मुझे नहीं पता कि यह पर्याप्त होगा या नहीं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysqld को कैसे रोकें

  2. मैं MySQL में एक पंक्ति जनरेटर कैसे बनाऊं?

  3. सिम्फनी 2 सिद्धांत पीडीओ MySQL कनेक्शन लोड डेटा स्थानीय इनफाइल के साथ

  4. SQL क्वेरी परिणाम व्यवस्था समस्या

  5. जावा रेडीस्टेडमेंट निष्पादन पर SQL सिंटैक्स के बारे में शिकायत करता है ()