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

ओरेकल क्वेरी में संकेतों का उपयोग कब करें

अधिकांश संकेत अनुकूलक के लिए हमारे इरादे को संप्रेषित करने का एक तरीका है। उदाहरण के लिए, leading आपके द्वारा उल्लेखित संकेत का अर्थ है इस क्रम में तालिकाओं में शामिल हों . यह क्यों जरूरी है? अक्सर ऐसा इसलिए होता है क्योंकि इष्टतम जॉइन ऑर्डर स्पष्ट नहीं होता है, क्योंकि क्वेरी बुरी तरह से लिखी गई है या डेटाबेस आंकड़े गलत हैं।

तो leading . जैसे संकेतों का एक उपयोग सर्वोत्तम निष्पादन पथ का पता लगाना है, फिर यह पता लगाना है कि डेटाबेस संकेत के बिना उस योजना का चयन क्यों नहीं करता है। क्या ताजा आंकड़े इकट्ठा करने से समस्या का समाधान हो जाता है? क्या FROM क्लॉज को फिर से लिखने से समस्या हल हो जाती है? यदि ऐसा है, तो हम संकेतों को हटा सकते हैं और नग्न SQL को परिनियोजित कर सकते हैं।

कभी-कभी ऐसे समय होते हैं जब हम इस पहेली को हल नहीं कर पाते हैं, और उत्पादन में संकेत रखने पड़ते हैं। हालांकि यह एक दुर्लभ अपवाद होना चाहिए। Oracle के पास कई वर्षों से लागत-आधारित अनुकूलक पर काम करने वाले बहुत होशियार लोग हैं, इसलिए इसके निर्णय आमतौर पर हमारे निर्णय से बेहतर होते हैं।

लेकिन ऐसे अन्य संकेत हैं जिन्हें हम प्रोडक्शन में देखने के लिए पलक नहीं झपकाएंगे। append थोक आवेषण ट्यूनिंग के लिए अक्सर महत्वपूर्ण होता है। driving_site वितरित प्रश्नों को ट्यून करने में महत्वपूर्ण हो सकता है।

इसके विपरीत अन्य संकेतों का लगभग हमेशा दुरुपयोग किया जाता है। हाँ parallel , मैं तुम्हारे बारे में बात कर रहा हूं। आँख बंद करके /*+ parallel (t23, 16) */ लगाना संभवत:आपकी क्वेरी को सोलह गुना तेज नहीं चलाएगा, और न ही कभी-कभी धीमे में परिणाम देगा एकल-थ्रेडेड निष्पादन की तुलना में पुनर्प्राप्ति।

इसलिए, संक्षेप में, हमें संकेतों का उपयोग कब करना चाहिए, इस बारे में कोई सार्वभौमिक रूप से लागू सलाह नहीं है। मुख्य बातें हैं:

  1. समझें कि डेटाबेस कैसे काम करता है, और विशेष रूप से लागत-आधारित अनुकूलक कैसे काम करता है;
  2. समझें कि प्रत्येक संकेत क्या करता है;
  3. उत्पादन-समकक्ष डेटा के साथ उचित ट्यूनिंग वातावरण में संकेतित प्रश्नों का परीक्षण करें।

स्पष्ट रूप से शुरू करने के लिए सबसे अच्छी जगह है Oracle प्रलेखन . हालांकि, अगर आपको कुछ पैसे खर्च करने का मन है, तो जोनाथन लुईस की पुस्तक लागत-आधारित अनुकूलक सबसे अच्छा निवेश है जो आप कर सकते हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. vba ODBC अनिर्दिष्ट त्रुटि देता है जब ऑरैकल तालिका में टाइमस्टैम्प होता है

  2. शब्दों में संख्या मान कैसे प्रदर्शित करें

  3. Oracle - कई मानों के साथ प्रयोग करते समय क्लॉज प्रश्न में, इसे गतिशील बनाते हुए

  4. pl/sql में xmlelement का उपयोग करके सभी रिलेशनल टेबल डेटा प्राप्त करें

  5. कॉलम में सटीक मिलान मिलने पर Oracle SQL में एक विशेष वर्ण कैसे जोड़ें?