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

क्या MySQL IN क्लॉज सबक्वेरी को कई बार निष्पादित करता है?

आपकी धारणा झूठी है; सबक्वेरी केवल एक बार निष्पादित की जाएगी। शामिल होने की तुलना में इसके धीमे होने का कारण यह है कि IN अनुक्रमणिका का लाभ नहीं उठा सकते; इसे हर बार WHERE . के लिए अपने तर्कों को एक बार स्कैन करना होगा क्लॉज का मूल्यांकन किया जाता है, यानी तालिका ए में प्रति पंक्ति एक बार। आप केवल IN . को बदलकर, चर या संग्रहीत कार्यविधियों का उपयोग किए बिना, क्वेरी को अनुकूलित कर सकते हैं शामिल होने के साथ, इस प्रकार:

SELECT tableA.field1, tableA.field2, [...]
FROM tableA 
  INNER JOIN tableB ON tableA.id = tableB.id

जब तक आपको दोनों तालिकाओं से प्रत्येक फ़ील्ड को वापस लेने में कोई आपत्ति नहीं है, आपको SELECT में अपने इच्छित फ़ील्ड की गणना करने की आवश्यकता है खंड; tableA.* , उदाहरण के लिए, एक सिंटैक्स त्रुटि प्राप्त करेगा।



  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. DETERMINISTIC, NO SQL, या इसकी घोषणा में SQL डेटा पढ़ता है और बाइनरी लॉगिंग सक्षम है

  3. लोड डेटा INFILE के साथ mysql डुप्लिकेट

  4. पीडीएफ फाइल से टेक्स्ट कैसे प्राप्त करें और इसे डीबी में कैसे सेव करें?

  5. SQL सर्वर डेटाबेस को MySQL में माइग्रेट कैसे करें?