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

उपयोग पर NOCOUNT सेट करें

ठीक है अब मैंने अपना शोध कर लिया है, यह सौदा है:

TDS प्रोटोकॉल में, SET NOCOUNT ON प्रति क्वेरी केवल 9-बाइट्स बचाता है जबकि टेक्स्ट "सेट नोकाउंट ऑन" अपने आप में एक विशाल 14 बाइट्स है। मुझे लगता था कि 123 row(s) affected सर्वर से सादे पाठ में एक अलग नेटवर्क पैकेट में लौटाया गया था लेकिन ऐसा नहीं है। वास्तव में यह एक छोटी संरचना है जिसे DONE_IN_PROC . कहा जाता है प्रतिक्रिया में निहित है। यह एक अलग नेटवर्क पैकेट नहीं है इसलिए कोई राउंडट्रिप व्यर्थ नहीं जाता है।

मुझे लगता है कि आप प्रदर्शन के बारे में चिंता किए बिना लगभग हमेशा डिफ़ॉल्ट गिनती व्यवहार से चिपके रह सकते हैं। हालांकि कुछ मामले ऐसे भी हैं, जहां पहले से पंक्तियों की संख्या की गणना करने से प्रदर्शन प्रभावित होगा, जैसे कि केवल-अग्रेषित कर्सर। उस स्थिति में NOCOUNT एक आवश्यकता हो सकती है। इसके अलावा, "जहां भी संभव हो NOCOUNT का उपयोग करें" आदर्श वाक्य का पालन करने की बिल्कुल आवश्यकता नहीं है।

यहाँ SET NOCOUNT . के महत्व के बारे में बहुत विस्तृत विश्लेषण दिया गया है सेटिंग:http://daleburnett.com/2014/01/everything-ever-wanted-know-set-nocount/



  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. SQL सर्वर में कंप्यूटेड कॉलम क्या है?

  3. एमएस एसक्यूएल सर्वर 2005 में ओवर के लिए कोई समर्थन नहीं?

  4. यूएस पोस्टल (ज़िप) कोड के लिए बाउंडिंग निर्देशांक कैसे प्राप्त करें?

  5. टी-एसक्यूएल ट्रिम   (और अन्य गैर-अल्फ़ान्यूमेरिक वर्ण)