मेरा झुकाव डिफ़ॉल्ट रूप से "NVARCHAR का उपयोग करें" है ... लेकिन @CadeRoux का एक अच्छा बिंदु है: यदि आप सुनिश्चित हैं कि डेटा कभी भी कुछ भी नहीं रखेगा लेकिन ASCII - यूएस लाइसेंस प्लेट की तरह - VARCHAR आपको बचा सकता है लागत का एक छोटा सा हिस्सा।
मैं कहूंगा कि उनके अच्छी तरह से दिए गए बयान का फ्लिप पक्ष "किसी भी चीज़ के लिए एनवीएआरएआरएआर का उपयोग करें" नाम (लोगों, सड़कों, स्थानों) या प्राकृतिक भाषा पाठ (ईमेल, चैट, लेख, ब्लॉग पोस्टिंग, फोटो कैप्शन)। अन्यथा, आपका "पहला नाम" कॉलम "फ़्रैंकोइस" या "जोसे" को सही ढंग से एन्कोड करने में सक्षम नहीं होगा, और आपके टेक्स्ट कॉलम टेक्स्ट को "विदेशी" डायक्रिटिकल अंक के साथ अनुमति नहीं देंगे, या - उस मामले के लिए - बहुत आम अमेरिकी अक्षर जैसे सेंट-मार्क "¢", अनुच्छेद चिह्न "¶", एक बुलेट "•"।(। क्योंकि उन में से कोई भी ASCII वर्ण कर रहे हैं, और वहाँ कोई अच्छा, मानक उन्हें एक VARCHAR क्षेत्र के लिए में डालने के लिए रास्ता नहीं है मुझ पर विश्वास करो: तुम अपने आप को चोट लगी होगी।)
किसी भी परियोजना मैं पर काम किया है पर , मुझे कभी भी NVARCHAR का उपयोग करने के लिए डांटा नहीं गया है क्योंकि मैं "डिस्क स्पेस पर बहुत अधिक कंपनी धन गंवा रहा था"। और अगर मुझे कोड या डीबी स्कीमा (विशेष रूप से लाइव, प्रोडक्शन सिस्टम पर) को फिर से काम करना पड़ा, तो फिर से फिट में खर्च की गई लागत आसानी से "बचत" से 50% छोटी डिस्क खरीदने से अधिक होगी।
वास्तव में इस प्रश्न को समझने के लिए आपको वास्तव में एएससीआईआई, यूनिकोड, और यूनिकोड के विशिष्ट एन्कोडिंग (जैसे यूसीएस -2 और यूटीएफ -8) को समझना होगा।
स्रोत
2012-08-29 03:29:38
इसे भी देखें http://stackoverflow.com/q/35366/27535 – gbn
यह _not_ ध्वनि तर्क है, मुख्य रूप से अमान्य परिसर के कारण। आइटम 3 एक बयान का बहुत व्यापक है। आइटम 4 आंशिक रूप से अप्रचलित है क्योंकि SQL Server 2008 ने पृष्ठ और पंक्ति संपीड़न प्रस्तुत किया है, और 2008 आर 2 जोड़ा गया है (दृश्यों के पीछे स्वचालित/पीछे) यूनिकोड संपीड़न (लेकिन संपीड़न केवल एंटरप्राइज़ संस्करण में उपलब्ध है)। आइटम 5 बेतुका गलत है। विवरण के लिए कृपया मेरा उत्तर यहां देखें: http://stackoverflow.com/a/32871477/577765 –