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

क्यों 'मौजूद' के साथ sql MySQL का उपयोग करके 'इन' की तुलना में धीमा चलता है?

मुझे लगता है कि आपको थोड़ा भ्रम है, आपके पास एक गलत विचार है, 'EXISTS' 'IN' की तुलना में तेजी से काम करता है और मैं आपको इसका कारण समझाने की कोशिश कर रहा हूं..

EXISTS एक बूलियन लौटाता है, और पहले मैच पर एक बूलियन लौटाएगा। इसलिए यदि आप डुप्लीकेट/गुणकों के साथ काम कर रहे हैं, तो डेटा और जरूरतों के आधार पर 'IN' या 'JOIN' की तुलना में 'EXISTS' निष्पादित करने के लिए तेज़ होगा।

जबकि, 'IN' OR क्लॉज के लिए सिंटैक्टिक शुगर है। हालांकि यह बहुत अनुकूल है, उस तुलना (1,000 के उत्तर) के लिए बहुत सारे मूल्यों से निपटने में समस्याएं हैं। डुप्लीकेट/गुणकों के मामले में 'IN' मौजूद सभी मानों की जांच करता है जो स्वाभाविक रूप से 'EXISTS' से निष्पादित करने के लिए अधिक समय लेता है, इसलिए 'IN' हमेशा 'EXISTS' की तुलना में अपेक्षाकृत धीमा होता है।

मुझे आशा है कि मैंने आपके भ्रम को स्पष्ट किया है।



  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. एक MySQL डेटाबेस को असामान्य करने का एक अच्छा तरीका क्या है?

  3. मलयालम में मैसकल में डेटा सम्मिलित करना

  4. मैसकल के साथ सी # में तैयार वक्तव्य का उपयोग करना

  5. एक longblob के लिए MySQL डेटाबेस से खाली PHP आउटपुट