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

क्या बहुत छोटी MySQL तालिकाएँ अनुक्रमणिका को अनदेखा करती हैं?

NOT IN ( SELECT ... ) बहुत खराब तरीके से अनुकूलित किया गया है, विशेष रूप से पुराने संस्करणों में।

इसमें बदलें:

SELECT  abc.*
    FROM  abc
    LEFT JOIN  zyx  ON zyx.abc_id = abc.id
    WHERE  zyx.abc_id IS NULL;
AND  zyx.id = 12345 ;

zyx के लिए, या तो INDEX(id, abc_id) रखें या INDEX(abc_id, id)

अगर zyx.id PRIMARY KEY है , आपकी क्वेरी का कोई खास मतलब नहीं है -- एक पंक्ति (12345) के लिए परीक्षण क्यों करें?




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Node.js ssh . के माध्यम से जुड़ रहा है

  2. क्या बहुत सारे डेटाबेस कनेक्शन का कारण बन सकता है

  3. MySQL में रूट उपयोगकर्ता को सभी विशेषाधिकार वापस कैसे प्राप्त करें?

  4. MySQL के साथ धाराप्रवाह nHibernate को कैसे कॉन्फ़िगर करें

  5. MYSQL उन सभी रिकॉर्ड का चयन करता है जहां उपयोगकर्ता नाम और दिनांक जोड़ी एक से अधिक बार होती है