इसका मेरा उत्तर मैक्स के उपयोग के बारे में नहीं है, जितना कि यह VARCHAR (अधिकतम) बनाम टेक्स्ट के कारण के बारे में है।
मेरी किताब में; सबसे पहले, जब तक आप पूरी तरह से सुनिश्चित नहीं हो जाते कि आप अंग्रेजी पाठ के अलावा कुछ भी एन्कोड नहीं करेंगे और लोग विदेशी स्थानों के नामों का उल्लेख नहीं करेंगे, तो आपको NVARCHAR या NTEXT का उपयोग करना चाहिए।
दूसरे, यह वही है जो फ़ील्ड आपको करने की अनुमति देते हैं।
VARCHAR की तुलना में TEXT को अपडेट करना कठिन है, लेकिन आपको फुल टेक्स्ट इंडेक्सिंग और बहुत सारी चतुर चीजों का लाभ मिलता है।
दूसरी ओर, VARCHAR(MAX) में कुछ अस्पष्टता है, यदि सेल का आकार <8000 वर्ण है, तो इसे पंक्ति डेटा के रूप में माना जाएगा। यदि यह अधिक है, तो इसे भंडारण उद्देश्यों के लिए एक LOB के रूप में माना जाएगा। क्योंकि आप RBAR को क्वेरी किए बिना इसे नहीं जान सकते हैं, इसमें उन स्थानों के लिए अनुकूलन रणनीतियाँ हो सकती हैं जहाँ आपको अपने डेटा के बारे में सुनिश्चित करने की आवश्यकता है और इसकी लागत कितनी है।पी>
अन्यथा, यदि आपका उपयोग अपेक्षाकृत सांसारिक है और आपको डेटा के आकार के साथ समस्या होने की उम्मीद नहीं है (यानी आप नेट का उपयोग कर रहे हैं और इसलिए आपको अपने स्ट्रिंग/चार * ऑब्जेक्ट्स के आकार के बारे में चिंतित होने की आवश्यकता नहीं है) फिर VARCHAR (अधिकतम) का उपयोग करना ठीक है।