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

MySQL में स्कोर के आधार पर अलग-अलग कैटेगरी के नतीजों को मिलाना

शीर्ष 20 प्राप्त करें। यदि वे आवश्यकताओं को पूरा नहीं करते हैं, तो लापता टुकड़े प्राप्त करने के लिए एक अतिरिक्त क्वेरी करें। आपको प्रश्नों की संख्या और प्रत्येक रिटर्न की पंक्तियों की संख्या के बीच कुछ संतुलन बनाने में सक्षम होना चाहिए।

मैं आपको शीर्ष 100 में मिला, यह 90% समय की आवश्यकताओं को पूरा कर सकता है और 10 अलग-अलग प्रश्नों की तुलना में सस्ता और तेज होगा।

अगर यह SQL सर्वर होता तो मैं और मदद कर सकता था...

दरअसल, मेरे पास एक और विचार है। हर 5 मिनट में एक प्रक्रिया चलाएँ जो सूची की गणना करती है और उसे एक तालिका में कैश करती है। संबंधित तालिकाओं के विरुद्ध DML बनाएं कैश को अमान्य करें ताकि इसका उपयोग तब तक न किया जाए जब तक कि इसे फिर से तैयार नहीं किया जाता (शायद एक लेख हटा दिया गया था)। यदि कैश अमान्य है, तो आप तुरंत इसकी गणना करने के लिए वापस आ जाएंगे... और इसका उपयोग किसी भी तरह कैश को फिर से खोलने के लिए कर सकते हैं।

कैश्ड सूची को पुनर्गणना करने के बजाय रणनीतिक रूप से अद्यतन करना संभव हो सकता है। लेकिन यह एक वास्तविक चुनौती हो सकती है।

इससे क्वेरी गति और आपके डेटाबेस पर लोड कम करने में मदद मिलनी चाहिए। यदि आपकी लेख सूची 5 मिनट पुरानी है तो इससे कोई खास फर्क नहीं पड़ना चाहिए। ठीक है, 1 मिनट भी काम कर सकता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. रेल की किताबों पर आपकी पसंदीदा रूबी कौन सी है और क्यों?

  2. क्वेरी समाप्त होने से पहले क्वेरी परिणाम देखना शुरू करें

  3. हर बोली समस्या से पहले स्लैश

  4. सरल पासवर्ड एन्क्रिप्शन - मैं कैसे करूँ?

  5. पायथन/माईएसक्यूएल कॉम्बो के लिए सबसे अच्छी एस्केप कैरेक्टर रणनीति क्या है?