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

SQL 2005 CTE बनाम TEMP तालिका प्रदर्शन जब अन्य तालिकाओं के जुड़ने में उपयोग किया जाता है

CTE क्वेरी के लिए केवल एक उपनाम है।

इसे हर बार उपयोग किए जाने पर फिर से चलाया जा सकता है (या नहीं भी)।

CTE force को ज़बरदस्ती करने का कोई साफ तरीका नहीं है SQL Server में भौतिकीकरण (जैसे Oracle का /*+ MATERIALIZE */ ), और आपको इस तरह की गंदी चालें करनी होंगी:

CTE केवल एक मूल्यांकन की आवश्यकता वाली योजनाओं में उपयोग किए जाने पर प्रदर्शन में सुधार हो सकता है (जैसे HASH JOIN , MERGE JOIN आदि)।

इन परिदृश्यों में, हैश तालिका सीधे CTE . से बनाई जाएगी , अस्थायी तालिका का उपयोग करते समय CTE . का मूल्यांकन करने की आवश्यकता होगी , परिणाम को अस्थायी तालिका में खींचकर और एक बार फिर अस्थायी तालिका को पढ़ना।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. छँटाई में NULL की स्थिति बदलना

  2. रोलबैक ट्रांज़ेक्शन अनुरोध का कोई संगत BEGIN ट्रांज़ेक्शन नहीं है

  3. अटैचमेंट के साथ डेटाबेस ईमेल (एक्सेल फाइल / पीडीएफ फाइल)?

  4. SQL सर्वर 2008 अद्वितीय कॉलम जो केस सेंसिटिव है

  5. क्या SQL सर्वर में कोई रैखिक रिग्रेशन फ़ंक्शन है?