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

बाएँ बाहरी जॉइन के साथ MySQL क्वेरी को अनुकूलित करने का प्रयास कर रहा है

दुर्भाग्य से mysql (और शायद कोई भी dbms) jobs.status != 331 and ack = 0 जैसे भावों को अनुकूलित नहीं कर सकता क्योंकि बी-ट्री एक ऐसी संरचना नहीं है जो किसी भी चीज को तेजी से खोजने की अनुमति देती है जो कि एक स्थिर मूल्य के बराबर नहीं है। इस प्रकार आपको हमेशा एक पूर्ण स्कैन प्राप्त होगा।

अगर कुछ बेहतर स्थिति होती जैसे jobs.status = 331 and ack = 0 (इस तथ्य पर ध्यान दें कि मैंने != . बदल दिया है करने के लिए = ) तो इस क्वेरी को तेज़ करने की सलाह दी जाएगी:

  1. क्वेरी को 2 में विभाजित करें, UNION ALL . से जुड़ें
  2. एक क्वेरी में बदलें LEFT JOIN करने के लिए INNER JOIN (जिसका अर्थ है कि wq.info is not NULL )



  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 क्वेरी पैरामीटर की संख्या निष्पादित करने के लिए पारित तर्कों से मेल खाती है, लेकिन पायथन सभी तर्कों को परिवर्तित नहीं करता है

  2. Mysqli_fetch_assoc($result), पॉइंटर अगले रिकॉर्ड पर चला जाता है। क्या क्वेरी परिणाम की शुरुआत में पॉइंटर को रीसेट करने का कोई तरीका है?

  3. MySQL में प्रत्येक 'समूह द्वारा' की 'अंतिम' पंक्ति लौटाना

  4. MySQL में एक टेबल के कैरेक्टर सेट और कॉलेशन को कैसे सेट करें

  5. C++ में MySQL से utf-8 डेटा प्रोसेस करें और परिणाम वापस दें