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

यह (गैर-सहसंबद्ध) सबक्वायरी ऐसी समस्याएं क्यों पैदा कर रही है?

यह मेरा अनुभव रहा है कि, आपके प्रश्न जितने जटिल होंगे, SQL अनुकूलक उतनी ही कम कुशल योजनाएँ बनाने में सक्षम होगा। यहां आपके पास 16 जॉइन हैं, कुछ या अधिकतर बाहरी जॉइन हैं, आपके पास कम से कम एक सबक्वायरी है ... पर्याप्त इंडेक्स, कार्डिनैलिटीज, व्यू, बाहरी लागू होता है, और कौन जानता है और कोई नहीं, यहां तक ​​​​कि माइक्रोसॉफ्ट भी नहीं इंजीनियर*, ऐसे रूटीन का पता लगा सकते हैं जो समान रूप से और नियमित रूप से सबसे इष्टतम योजनाएँ उत्पन्न करेंगे।

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

(* कृपया ध्यान दें कि यह हल्का व्यंग्य है)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL में पूर्णांक कॉलम मान को 1 से कैसे बढ़ाएं

  2. एक स्ट्रिंग में किसी विशेष वर्ण के प्रकट होने की संख्या

  3. एसक्यूएल में पार्स JSON स्ट्रिंग

  4. SQL सर्वर:कॉलम में शामिल हों और संलग्न करें

  5. INT को BigInt . में बदला जा रहा है