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

एक संघ या एक में शामिल हों का प्रयोग करें - तेज़ क्या है

संघ तेज़ होगा, क्योंकि यह केवल पहले चयन कथन को पास करता है, और फिर दूसरे चयन कथन को पार्स करता है और परिणाम आउटपुट तालिका के अंत में जोड़ता है।

जॉइन दोनों तालिकाओं की प्रत्येक पंक्ति के माध्यम से जाएगा, दूसरी तालिका में मिलान ढूंढेगा इसलिए प्रत्येक पंक्ति के लिए मिलान पंक्तियों की खोज के कारण बहुत अधिक प्रसंस्करण की आवश्यकता होगी।

संपादित करें

यूनियन से मेरा मतलब यूनियन ऑल से है क्योंकि आप जो हासिल करने की कोशिश कर रहे थे उसके लिए यह पर्याप्त लग रहा था। हालांकि एक सामान्य संघ आम तौर पर तेज होता है तो शामिल हों।

संपादित करें 2 (@seebiscuit की टिप्पणी का उत्तर दें)

मैं उससे सहमत नहीं हूं। तकनीकी रूप से कहें तो आपका जुड़ाव कितना भी अच्छा क्यों न हो, एक "जॉइन" अभी भी एक शुद्ध संयोजन की तुलना में अधिक महंगा है। मैंने इसे अपने ब्लॉग codePERF[dot]net पर साबित करने के लिए एक ब्लॉग पोस्ट बनाया है। . व्यावहारिक रूप से वे 2 पूरी तरह से अलग उद्देश्यों की पूर्ति करते हैं और यह सुनिश्चित करना अधिक महत्वपूर्ण है कि आपकी अनुक्रमण सही है और नौकरी के लिए सही उपकरण का उपयोग कर रहा है।

तकनीकी रूप से, मुझे लगता है कि मेरे ब्लॉग पोस्ट से ली गई निम्नलिखित 2 निष्पादन योजनाओं का उपयोग करके इसे सारांशित किया जा सकता है:

UNION ALL निष्पादन योजना

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. Ldap प्रमाणीकरण और डेटाबेस अधिकारियों के लिए स्प्रिंग सुरक्षा स्विच

  2. MySQL प्रदर्शन बेंचमार्किंग:MySQL 5.7 बनाम MySQL 8.0

  3. MySQL COALESCE () समझाया गया

  4. MySQL, Postgres और Aurora के लिए सर्वर रहित GraphQL API कैसे बनाएं?

  5. MySQL गलत डेटाटाइम मान:'0000-00-00 00:00:00'