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

MYSQL IN का प्रदर्शन

रिकॉर्ड की एक निश्चित संख्या से शुरू करके, IN एक SELECT . पर विधेय स्थिरांक की सूची से अधिक तेज़ हो जाता है।

प्रदर्शन तुलना के लिए मेरे ब्लॉग में यह लेख देखें:

यदि क्वेरी में प्रयुक्त कॉलम IN . में है खंड को इस तरह अनुक्रमित किया जाता है:

SELECT  *
FROM    table1
WHERE   unindexed_column IN
        (
        SELECT  indexed_column
        FROM    table2
        )

, तो यह क्वेरी बस एक EXISTS . के लिए अनुकूलित है (जो table1 . से प्रत्येक रिकॉर्ड के लिए केवल एक प्रविष्टि का उपयोग करता है )

दुर्भाग्य से, MySQL HASH SEMI JOIN करने में सक्षम नहीं है या MERGE SEMI JOIN जो अभी तक अधिक कुशल हैं (विशेषकर यदि दोनों कॉलम अनुक्रमित हैं)।



  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. त्रुटि:मणि मूल एक्सटेंशन बनाने में विफल - mysql2 स्थापित करने में त्रुटि

  3. Laravel के create_at और update_at . का नाम बदलें

  4. mysql:किसी फ़ील्ड की लंबाई को कैसे छोटा करें?

  5. संग्रहित प्रक्रियाओं में लोड डेटा की अनुमति नहीं है