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

MySql में प्रत्येक कॉलम के शीर्ष N मान कैसे प्राप्त करें?

यह ऐसा कुछ नहीं है जिसे आप एक ही प्रश्न में करना चाहते हैं। बस इसे तोड़ दें, प्रत्येक कॉलम के लिए एक प्रश्न। सही परिस्थितियों में (सही इंडेक्स और दाएं कॉलम प्रकारों के साथ उर्फ), MySQL वास्तव में शॉर्ट सर्किटिंग द्वारा इन प्रश्नों को अनुकूलित कर सकता है ताकि इसे कभी भी पूरी तालिका को स्कैन न करना पड़े, यह केवल शीर्ष 5 मानों को बाहर निकालता है और किया जाता है।

SELECT column1 FROM table ORDER BY column1 DESC LIMIT 5
SELECT column2 FROM table ORDER BY column2 DESC LIMIT 5
etc

यदि आप उन सभी को एक साथ एक विशाल, अस्पष्ट क्वेरी में बदलने की कोशिश करते हैं तो आप केवल ऑप्टिमाइज़र को पूरी तालिका को 50 बार छोड़ने और फिर से स्कैन करने के लिए मनाने का प्रबंधन करेंगे और फिर 50 अस्थायी तालिकाओं का उपयोग करें और शायद अच्छे उपाय के लिए कुछ फ़ाइल सॉर्टिंग करें। इसलिए जब तक आपकी तालिका में लगभग 10 पंक्तियाँ न हों (जो कि स्पष्ट रूप से नहीं है), 50 अलग-अलग प्रश्न हमेशा तेज़ होंगे।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ImportError:Ubuntu 11.04 सर्वर पर django प्रोजेक्ट में mysql.base नाम का कोई मॉड्यूल नहीं है

  2. MySqlParameter TableName के रूप में

  3. तैयार स्टेटमेंट SQL त्रुटि

  4. पायथन का उपयोग करके मेरे डेटाबेस में सूची डालें

  5. MySQL कई-से-अनेक चुनें