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