जहाँ तक मैं देख सकता हूँ पूरी तरह से व्यर्थ प्रतिबंध। मानक मानते हुए FixedVar
format (पंक्ति/पृष्ठ संपीड़न या स्पैस कॉलम के साथ उपयोग किए जाने वाले प्रारूपों के विपरीत) और यह मानते हुए कि आप varchar(1-8000)
के बारे में बात कर रहे हैं कॉलम
सभी varchar
डेटा पंक्ति के अंत में एक चर लंबाई अनुभाग में संग्रहीत किया जाता है (या यदि यह पंक्ति में फिट नहीं हो सकता है तो ऑफ्रो पृष्ठों में)। उस खंड में खपत की जाने वाली जगह की मात्रा (और यह पंक्ति से समाप्त होती है या नहीं) पूरी तरह से वास्तविक डेटा की लंबाई पर निर्भर करती है न कि कॉलम घोषणा।
SQL सर्वर मेमोरी आवंटित करते समय कॉलम घोषणा में घोषित लंबाई का उपयोग करेगा (उदाहरण के लिए sort
के लिए) संचालन)। उस उदाहरण में यह धारणा यह है कि varchar
कॉलम से भरे होंगे उनके घोषित आकार का औसतन 50%
इसलिए आकार चुनते समय यह देखना एक बेहतर बात हो सकती है।