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

मुझे सी # में बाइट या शॉर्ट के बजाय int का उपयोग क्यों करना चाहिए

प्रदर्शन-वार, लगभग सभी मामलों में एक इंट तेज होता है। CPU को 32-बिट मानों के साथ कुशलतापूर्वक कार्य करने के लिए डिज़ाइन किया गया है।

छोटे मूल्यों से निपटने के लिए जटिल हैं। एक बाइट को पढ़ने के लिए, मान लीजिए, सीपीयू को 32-बिट ब्लॉक को पढ़ना है जिसमें यह शामिल है, और फिर ऊपरी 24 बिट्स को मास्क करना है।

एक बाइट लिखने के लिए, उसे गंतव्य 32-बिट ब्लॉक को पढ़ना होगा, निचले 8 बिट्स को वांछित बाइट मान के साथ अधिलेखित करना होगा, और पूरे 32-बिट ब्लॉक को फिर से लिखना होगा।

अंतरिक्ष-वार, निश्चित रूप से, आप छोटे डेटाटाइप का उपयोग करके कुछ बाइट्स बचाते हैं। इसलिए यदि आप कुछ मिलियन पंक्तियों वाली तालिका बना रहे हैं, तो छोटे डेटाटाइप विचार करने योग्य हो सकते हैं। (और यही एक अच्छा कारण हो सकता है कि आपको अपने डेटाबेस में छोटे डेटाटाइप का उपयोग क्यों करना चाहिए)

और शुद्धता के लिहाज से, एक इंट आसानी से ओवरफ्लो नहीं होता है। क्या होगा यदि आप सोचते हैं आपका मान एक बाइट के भीतर फ़िट होने वाला है, और फिर भविष्य में किसी बिंदु पर कोड में कुछ हानिरहित दिखने वाले परिवर्तन का अर्थ है कि बड़े मान इसमें संग्रहीत हो जाते हैं?

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कैसे ठीक करें "प्रक्रिया को 'ntext/nchar/nvarchar' प्रकार के पैरामीटर '@statement' की अपेक्षा है।" SQL सर्वर में त्रुटि

  2. SQL सर्वर में डेटाबेस मेल को कॉन्फ़िगर करना

  3. एसक्यूएल सर्वर 2008 के साथ अधिसूचना बदलें

  4. SQL सर्वर में अद्यतन कैस्केड के साथ विदेशी कुंजी बाधा कैसे बनाएं - SQL सर्वर / TSQL ट्यूटोरियल भाग 79

  5. DATEDIFF_BIG() SQL सर्वर में उदाहरण