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

MySQL में char/varchar/text/longtext कॉलम आंशिक रूप से भरे हुए कक्षों के लिए भी फाइल सिस्टम में पूर्ण आकार पर कब्जा कर लेते हैं?

देखें http://dev.mysql.com /doc/refman/5.7/hi/string-type-overview.html

मूल रूप से, CHAR . को छोड़कर ये सभी प्रकार परिवर्तनशील लंबाई हैं।

उदाहरण के लिए, यदि आपके पास VARCHAR(72) . है और आप abcd write लिखें इसमें आप 5 बाइट स्टोर करेंगे। प्रत्येक वर्ण के लिए 4 बाइट्स, और स्ट्रिंग की लंबाई (जो 4 है) को संग्रहीत करने के लिए 1 बाइट उपसर्ग।

यदि स्ट्रिंग की लंबाई 255 वर्णों से अधिक है, तो VARCHAR उपसर्ग 2 बाइट्स होगा। तो एक VARCHAR(300) इसमें संग्रहीत एक 256 वर्ण स्ट्रिंग के साथ 258 बाइट्स लगेंगे।

TINYTEXT हमेशा 1 बाइट उपसर्ग होता है, क्योंकि आप इसमें केवल 255 वर्ण ही संग्रहीत कर सकते हैं, इसलिए abcd 5 बाइट लेगा।

TEXT एक 2 बाइट उपसर्ग है, इसलिए abcd 6 बाइट्स होंगे।

LONGTEXT एक 4 बाइट उपसर्ग है, इसलिए abcd 8 बाइट्स होंगे।

अंत में, लगभग बेकार CHAR है प्रकार। एक CHAR(72) आप इसमें जो भी स्टोर करते हैं, वह हमेशा 72 बाइट्स लेगा। यह वास्तव में केवल सुपर शॉर्ट फ़ील्ड के लिए उपयोगी है जहां फ़ील्ड में हमेशा समान वर्णों की संख्या होती है। जैसे Y या N अच्छा होगा CHAR(1) उम्मीदवार।




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

  2. PHP CodeIgniter का उपयोग करके MYSQL डेटाबेस में CSV डेटा कैसे आयात करें?

  3. एकाधिक और शर्तें MySQL

  4. Group_concat का उपयोग करके मूल्यों को कैसे उद्धृत करें

  5. जावा से mysql में एक डेटाबेस बनाना