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

सीटीई से अनपेक्षित परिणाम

उस परिणाम के बारे में कुछ भी अप्रत्याशित नहीं है, सिवाय शायद अगर आप इसे नहीं समझते हैं।

प्रत्येक सीटीई का समाधान किया जाता है each and every time यह संदर्भित है। हां, यही कारण है कि एक साधारण सीटीई के लिए एक उच्च लेनदेन तालिका पर एक संदर्भ में 4 पंक्तियां और अगले 2 स्तरों में 5 पंक्तियों को वापस करना संभव है।

हालांकि, आपके नमूने पर, यह ऑर्डर द्वारा NEWID() के कारण है, मूल सीटीई के प्रत्येक संकल्प को एक अलग row_number() -ing दे रहा है। क्या आपको लगता है कि CTE को मेमोरी में स्टोर किया जाता है और कैश किया जाता है? SQLFiddle साइट पर, आपके परिणामों के अंतर्गत, एक "निष्पादन योजना देखें" लिंक है। यह तालिका के 2 अलग, अलग स्कैन दिखाता है




  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 सर्वर (T-SQL) में दशमलव को हेक्साडेसिमल में बदलने के 3 तरीके

  2. कैसे निर्धारित करें कि संख्या फ्लोट या पूर्णांक है

  3. एसक्यूएल:डेटाबेस में प्रत्येक वर्चर कॉलम में एक स्ट्रिंग की खोज करें

  4. SQL सर्वर 2005 में चयन कथन के लिए NOLOCK डिफ़ॉल्ट है?

  5. सी # के माध्यम से SQL सर्वर डेटाबेस छोड़ना