मैं कॉपी करने के लिए नहीं/पेस्ट MSDN
यह कोई फर्क नहीं पड़ता की कोशिश करेंगे।
एक सीटीई क्वेरी निष्पादन से स्वतंत्र है: यह केवल एक भाषा निर्माण है। इसके बारे में अच्छी तरह से व्युत्पन्न तालिका या सबक्वायरी के रूप में सोचें।
इसका मतलब है कि रिकर्सिव सीटीई को छोड़कर (बाद में देखें), सभी सीटीई को इनलाइन कोड किया जा सकता है। यदि आप एक बार सीटीई कोड का उपयोग करते हैं, तो यह पठनीयता के लिए है। यदि आप सीटीई का दो या दो से अधिक उपयोग करते हैं, तो यह रक्षात्मक है: आप कोई गलती नहीं करना चाहते हैं और व्युत्पन्न तालिका प्रत्येक उपयोग को अलग करती है।
जहां एक सीटीई दो या उससे अधिक का उपयोग किया जाता है, तो वह कोड दो या दो बार निष्पादित किया जाएगा। इसे एक बार निष्पादित नहीं किया जाएगा और tempdb में कैश किया जाएगा।
सारांश: यह कोड हो सकता है जैसे यह हो सकता है या नहीं।
नोट: एक recursve CTE बस एक डेर के अंदर एक एक व्युत्पन्न तालिका के अंदर एक व्युत्पन्न तालिका के अंदर एक व्युत्पन्न तालिका के अंदर एक व्युत्पन्न टेबल है ... तो एक ही लागू होता है।
आप इसे Tony Rogerson's article में देख सकते हैं। कोडड इनलाइन अगर वैसे भी tempdb का उपयोग होगा। उन्होंने यह भी कहा गया है कि एक अस्थायी तालिका का उपयोग कर "मैक्रो" विस्तार मैं आपकी जानकारी के ऊपर
समझाया की वजह से बेहतर हो सकता है: एक ही दृश्यों पर लागू होता। बस मैक्रोज़।
प्रश्नों को निश्चित रूप से में नोट किया गया है। "क्वेरी द्वारा आवश्यक स्थान" पर भी नीचे दिया गया अनुभाग देखें। –