ठीक है अब मैंने अपना शोध कर लिया है, यह सौदा है:
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/