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

क्या सीटीई tempdb में किसी स्थान का उपयोग करते हैं?

मैं कोशिश करूंगा कि एमएसडीएन को कॉपी/पेस्ट न करूं

इससे कोई फर्क नहीं पड़ता।

एक सीटीई क्वेरी निष्पादन से स्वतंत्र है:यह केवल एक भाषा निर्माण है। इसे साफ-सुथरी व्युत्पन्न तालिका या सबक्वेरी के रूप में सोचें।

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

जहां एक सीटीई का दो बार या अधिक उपयोग किया जाता है, तो उस कोड को दो बार या अधिक निष्पादित किया जाएगा। इसे एक बार निष्पादित नहीं किया जाएगा और tempdb में कैश किया जाएगा।

सारांश:यह हो भी सकता है और नहीं भी, ठीक वैसे ही जैसे अगर कोड इनलाइन होता।

नोट:एक पुनरावर्ती सीटीई एक व्युत्पन्न तालिका के अंदर एक व्युत्पन्न तालिका के अंदर एक व्युत्पन्न तालिका के अंदर एक व्युत्पन्न तालिका है ... ऐसा ही लागू होता है।

आप इसे टोनी रोजर्सन का लेख . अगर इनलाइन कोड किया जाता है तो tempdb का उपयोग वैसे भी होगा। उन्होंने यह भी नोट किया कि ऊपर बताए गए "मैक्रो" विस्तार के कारण एक अस्थायी तालिका का उपयोग करना बेहतर हो सकता है

FYI करें:वही विचारों पर लागू होता है। बस मैक्रोज़।



  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 सर्वर एजेंट कार्य निष्पादित करना और कार्य परिणाम लौटाना

  2. टी-एसक्यूएल डेटाटाइम फ़ंक्शन का उपयोग करने के साथ निकटतम मिनट और निकटतम घंटों तक गोल होता है

  3. SQL सर्वर को समझना हमेशा एन्क्रिप्टेड

  4. एसक्यूएल प्रतिस्थापन समारोह के अंदर रेगेक्स पैटर्न?

  5. किसी चयनित क्वेरी के अंदर संग्रहीत कार्यविधि को कैसे निष्पादित करें