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

क्या बिना किसी संकेत निर्देश के सीधे जुड़ने में तालिकाओं का क्रम प्रदर्शन को प्रभावित करता है?

आपके प्रश्न का उत्तर - हाँ, तालिका के क्रम से जुड़ने में फर्क पड़ता है।

आप अनुकूलक को निष्पादन योजना के बारे में भी बता सकते हैं।

ORDERED संकेत Oracle को उस क्रम में तालिकाओं में शामिल होने का कारण बनता है जिसमें वे FROM खंड में दिखाई देते हैं।

उदाहरण के लिए, यह कथन तालिका TAB1 को तालिका TAB2 से जोड़ता है और फिर परिणाम को तालिका TAB3 से जोड़ता है:

 SELECT /*+ ORDERED */ TAB1.COL1, TAB2.COL2, TAB3.COL3
     FROM TAB1, TAB2, TAB3
    WHERE TAB1.COL1 = TAB2.COL1
         AND TAB2.COL1 = TAB3.COL1;

यदि आप शामिल होने वाले SQL कथन से ORDERED संकेत को छोड़ देते हैं, तो अनुकूलक उस क्रम को चुनता है जिसमें तालिकाओं में शामिल होना है। यदि आप प्रत्येक तालिका से चयनित पंक्तियों की संख्या के बारे में कुछ जानते हैं जो ऑप्टिमाइज़र नहीं करता है, तो आप शामिल होने के आदेश को निर्दिष्ट करने के लिए ORDERED संकेत का उपयोग करना चाह सकते हैं। ऐसी जानकारी आपको अनुकूलक से बेहतर आंतरिक और बाहरी तालिका चुनने की अनुमति देगी।

आमतौर पर, यदि आप तालिकाओं का विश्लेषण करते हैं, तो अनुकूलक एक कुशल स्टार योजना का चयन करता है। आप योजना को बेहतर बनाने के लिए संकेतों का भी उपयोग कर सकते हैं। सबसे सटीक तरीका इंडेक्स में चाबियों के क्रम में FROM क्लॉज में टेबल को ऑर्डर करना है, जिसमें बड़ी टेबल आखिरी है। फिर निम्नलिखित संकेतों का प्रयोग करें:

/*+ ORDERED USE_NL(FACTS) INDEX(FACTS FACT_CONCAT) */


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JSON को MySQL तालिका में पार्स करना

  2. Mysql - इंडेक्स का उपयोग न करने की तरह चुनें

  3. MySQL पर दो तिथियों के बीच डेटा प्राप्त करें

  4. वर्चर प्रकार को फ़िल्टर करने के लिए एक लंबी प्रकार की संख्या का उपयोग करते समय MySQL अतिरिक्त रिकॉर्ड लौटाता है

  5. पायथन में SQLite डेटाबेस में तालिकाएँ दिखाएँ