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

क्या बाएं बाहरी जुड़ाव की तुलना में एंटी-जॉइन अधिक कुशल है?

जब आप अपनी SQL क्वेरी में "मौजूद नहीं" या "नहीं" का उपयोग करते हैं, तो आप Oracle को मर्ज-एंटी-जॉइन या हैश-एंटी-जॉइन एक्सेस पथ चुनने देते हैं।

त्वरित स्पष्टीकरण

उदाहरण के लिए, तालिका ए और बी के बीच में शामिल हों (ए से ए =बी.एक्स पर बी में शामिल हों) ओरेकल तालिका ए से सभी प्रासंगिक डेटा प्राप्त करेगा, और तालिका बी में संबंधित पंक्तियों के साथ उनका मिलान करने का प्रयास करेगा, इसलिए यह तालिका की चुनिंदाता पर सख्ती से निर्भर है एक विधेय।

एंटी-जॉइन ऑप्टिमाइज़ेशन का उपयोग करते समय, Oracle उच्च चयनात्मकता वाली तालिका चुन सकता है और इसे दूसरे के साथ मिला सकता है, जिसके परिणामस्वरूप बहुत तेज़ कोड हो सकता है।

यह नियमित रूप से शामिल होने या सबक्वेरी के साथ ऐसा नहीं कर सकता, क्योंकि यह नहीं मान सकता कि टेबल ए और बी के बीच एक मैच उस पंक्ति को वापस करने के लिए पर्याप्त है।

संबंधित संकेत: HASH_AJ, MERGE_AJ.

अधिक:

यह इस विषय पर एक अच्छा और विस्तृत लेख लगता है।

यहां एक और, अधिक गहन लेख है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle के साथ AWS पायथन लैम्ब्डा

  2. ओरेकल संग्रहित प्रक्रिया से परिणाम प्राप्त करें

  3. दो तालिकाओं से एक दृश्य में डेटा

  4. pl/sql में नेस्टेड फ़ंक्शंस के साथ प्रक्रिया में अपवाद हैंडलिंग

  5. ऑरैकल में टाइमस्टैम्प घटाना अजीब डेटा लौटा रहा है