प्रश्न का उत्तर देने के लिए, डिस्क पर MySql 1 + आकार का उपयोग करता है जो डेटा को संग्रहीत करने के लिए फ़ील्ड में उपयोग किया जाता है (इसलिए यदि कॉलम को वर्चर (45) घोषित किया गया था, और फ़ील्ड "FooBar" था, तो यह डिस्क पर 7 बाइट्स का उपयोग करेगा, बेशक जब तक आप एक मल्टीबाइट कैरेक्टर सेट का उपयोग नहीं कर रहे हैं, जहां यह 14 बाइट्स का उपयोग करेगा)। इसलिए, हालांकि आप अपने कॉलम घोषित करते हैं, इससे स्टोरेज एंड पर कोई फर्क नहीं पड़ता (आपने कहा था कि आप एक विशाल टेबल के लिए डिस्क ऑप्टिमाइज़ेशन के बारे में चिंतित हैं)। हालाँकि, यह प्रश्नों में फर्क करता है, क्योंकि VARCHAR को CHAR में बदल दिया जाता है जब MySql एक अस्थायी तालिका (SORT, ORDER, आदि) बनाता है और जितने अधिक रिकॉर्ड आप एक पृष्ठ में फिट कर सकते हैं, उतनी ही कम मेमोरी और तेज़ आपकी तालिका स्कैन होगी हो।