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

MySQL VARCHAR फ़ील्ड आकार की व्याख्या कैसे करता है?

एक VARCHAR(255) वर्ण सेट एन्कोडिंग के लिए आवश्यक प्रति वर्ण बाइट्स की संख्या की परवाह किए बिना, 255 वर्णों तक संग्रहीत कर सकते हैं।

भंडारण की आवश्यकता संग्रहीत वास्तविक डेटा की लंबाई (अधिकतम नहीं) की लंबाई है, साथ ही डेटा की लंबाई को संग्रहीत करने के लिए 1 या 2 बाइट्स - 1 बाइट का उपयोग तब तक किया जाता है जब तक कि बाइट्स में अधिकतम संभव लंबाई> 255... तो एक VARCHAR(255) COLLATE utf8mb4 लंबाई को स्टोर करने के लिए 2 बाइट्स का उपयोग करता है, जबकि एक VARCHAR(255) COLLATE ascii_general_ci लंबाई को स्टोर करने के लिए 1 बाइट का उपयोग करता है। कोई भी कॉलम 255 से अधिक वर्णों को संग्रहीत नहीं कर सकता है।

संग्रहीत किए जा रहे डेटा के लिए उपयुक्त कॉलम आकार घोषित करें। 255 का उपयोग करना आम है, लेकिन आमतौर पर मैला डिजाइन का लाल झंडा होता है, क्योंकि यह दुर्लभ है कि यह विशेष मान सार्थक रूप से किसी कॉलम की अधिकतम उपयुक्त लंबाई का प्रतिनिधित्व करता है।

इसके विपरीत, एक CHAR(255) COLLATE utf8mb4 हमेशा 255 × 4 (अधिकतम संभव) बाइट्स प्रति कॉलम प्रति पंक्ति, और 0 बाइट्स लंबाई को स्टोर करने के लिए खपत करता है, क्योंकि संग्रहीत लंबाई भिन्न नहीं होती है। ये कॉलम शायद ही कभी उपयुक्त होते हैं, सिवाय इसके कि जब कॉलम हमेशा एक ज्ञात लंबाई हो और वर्ण सेट सिंगल-बाइट हो, जैसे कि UUID, जो कि CHAR(36) COLLATE ascii_general_ci होगा। ।

https:/ /dev.mysql.com/doc/refman/5.7/hi/storage-requirements.html#data-types-storage-reqs-strings



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. DB5 को MySQL में स्वचालित रूप से एक्सेस करें

  2. क्रोनजॉब हर मिनट

  3. Utf8_unicode_ci Mysql टेबल से टेक्स्ट प्रिंट करते समय खराब वर्ण

  4. एंटिटी फ्रेमवर्क के साथ मारियाडीबी का उपयोग करना

  5. jQuery AJAX को MySQL डेटा मिलता है जो index.html की संपूर्णता देता है