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

MySQL टेक्स्ट डेटा प्रकारों के लिए संग्रहण आकार को समझना

TEXT डेटा ऑब्जेक्ट्स, जैसा कि उनके नाम का तात्पर्य है, एक MySQL डेटाबेस में लंबी-फॉर्म टेक्स्ट स्ट्रिंग्स को संग्रहीत करने के लिए उपयोगी हैं। चार TEXT डेटा ऑब्जेक्ट प्रकार अन्य डेटा ऑब्जेक्ट प्रकारों के विपरीत पर्याप्त मात्रा में जानकारी संग्रहीत करने और प्रदर्शित करने के लिए बनाए जाते हैं जो कॉलम को सॉर्ट करने और खोजने या बड़े प्रोजेक्ट के लिए छोटे कॉन्फ़िगरेशन-आधारित विकल्पों को संभालने जैसे कार्यों में सहायक होते हैं। भिन्न TEXT ऑब्जेक्ट्स 1 बाइट से 4 जीबी तक स्टोरेज स्पेस की एक श्रृंखला प्रदान करते हैं और कम्प्यूटेशनल मानों को संग्रहीत करने के लिए डिज़ाइन नहीं किए जाते हैं। यह एक बिक्री साइट के लिए उत्पाद विवरण, रियल्टी डेटाबेस के लिए संपत्ति सारांश, और एक समाचार वेबसाइट पर लंबे समय के लेख पाठ को संग्रहीत करने के लिए उपयोग किया जाता है। TEXT वस्तुओं का सबसे अच्छा उपयोग तब किया जाता है जब VARCHAR और अन्य स्ट्रिंग-आधारित डेटा ऑब्जेक्ट वांछित मात्रा में जानकारी संग्रहीत करने के लिए अपर्याप्त हैं। हालांकि, सबसे छोटा TEXT टाइप करें, TINYTEXT , वही वर्ण लंबाई साझा करता है जो VARCHAR . है . TEXT ऑब्जेक्ट स्टोरेज की लंबाई निर्दिष्ट करने की आवश्यकता को हटाकर अन्य स्ट्रिंग स्टोरेज प्रकारों से खुद को अलग करते हैं, चयनित होने पर बाइट्स को अलग नहीं करते हैं, और कुशल डिस्क स्टोरेज के लिए अप्रयुक्त वर्ण स्थान को पैड नहीं करते हैं। चूंकि TEXT ऑब्जेक्ट सर्वर की मेमोरी में संग्रहीत नहीं होते हैं, उन्हें पुनर्प्राप्ति के लिए डेटा ओवरहेड की आवश्यकता होती है। निम्न आकार मानते हैं कि डेटाबेस UTF-8 एन्कोडिंग का उपयोग कर रहा है।

TINYTEXT:255 वर्ण - 255 B

TINYTEXT डेटा ऑब्जेक्ट TEXT में सबसे छोटा है परिवार और लघु सूचना स्ट्रिंग को कुशलता से संग्रहीत करने के लिए बनाया गया है। यह प्रकार 255 बाइट्स (2^8 -1 के रूप में व्यक्त) या 255 वर्णों तक संग्रहीत कर सकता है और इसके लिए 1 बाइट ओवरहेड की आवश्यकता होती है। इस ऑब्जेक्ट का उपयोग संक्षिप्त सारांश, URL लिंक और अन्य छोटी वस्तुओं जैसी चीज़ों को संग्रहीत करने के लिए किया जा सकता है। TINYTEXT VARCHAR . पर चमकता है असंगत लंबाई के साथ 255 वर्णों से कम का डेटा संग्रहीत करते समय और मापदंड को छांटने के लिए उपयोग करने की आवश्यकता नहीं है।

टेक्स्ट:65,535 वर्ण - 64 KB

मानक TEXT डेटा ऑब्जेक्ट ठेठ लंबी-फ़ॉर्म टेक्स्ट सामग्री को संभालने में पर्याप्त रूप से सक्षम है। TEXT डेटा ऑब्जेक्ट 64 KB (2^16 -1 के रूप में व्यक्त) या 65,535 वर्णों पर शीर्ष पर हैं और इसके लिए 2 बाइट ओवरहेड की आवश्यकता होती है। यह किसी लेख जैसी किसी चीज़ के लिए टेक्स्ट रखने के लिए पर्याप्त रूप से बड़ा है, लेकिन पूरी किताब के टेक्स्ट को रखने के लिए पर्याप्त नहीं होगा।

मध्यम टेक्स्ट:16,777,215 - 16 एमबी

MEDIUMTEXT डेटा ऑब्जेक्ट श्वेत पत्र, किताबें और कोड बैकअप जैसे बड़े टेक्स्ट स्ट्रिंग्स को संग्रहीत करने के लिए उपयोगी है। ये डेटा ऑब्जेक्ट 16 एमबी (2^24 -1 के रूप में व्यक्त) या 16,777,215 वर्णों तक बड़े हो सकते हैं और इसके लिए 3 बाइट्स ओवरहेड स्टोरेज की आवश्यकता होती है।

LONGTEXT:4,294,967,295 वर्ण - 4 GB

LONGTEXT डेटा ऑब्जेक्ट चरम टेक्स्ट स्ट्रिंग स्टोरेज उपयोग मामलों में उपयोग के लिए है। यह एक व्यवहार्य विकल्प है जब MEDIUMTEXT वस्तु काफी बड़ी नहीं है। कंप्यूटर प्रोग्राम और एप्लिकेशन अक्सर LONGTEXT . में टेक्स्ट की लंबाई तक पहुंचते हैं श्रेणी। ये डेटा ऑब्जेक्ट 4 जीबी तक बड़े हो सकते हैं (2^32 -1 के रूप में व्यक्त) और 4 बाइट्स ओवरहेड स्टोरेज के साथ 4,294,967,295 वर्णों तक स्टोर कर सकते हैं,

पाठ बनाम BLOB

BLOB s एक वैकल्पिक प्रकार का डेटा संग्रहण है जो TEXT . के साथ मिलते-जुलते नामकरण और क्षमता तंत्र को साझा करता है वस्तुओं। हालांकि, BLOB s बाइनरी स्ट्रिंग्स हैं जिनमें कोई वर्ण सेट सॉर्टिंग नहीं है, इसलिए उन्हें TEXT करते समय संख्यात्मक मानों के रूप में माना जाता है वस्तुओं को चरित्र तार के रूप में माना जाता है। सूचनाओं को छांटने के लिए यह भेदभाव महत्वपूर्ण है। BLOB छवियों, वीडियो और निष्पादन योग्य जैसी डेटा फ़ाइलों को संग्रहीत करने के लिए s का उपयोग किया जाता है।

उपयोग नोट

  • TEXT का उपयोग करना चुनिंदा और खोज क्वेरीज़ के लिए फ़ील्ड परफ़ॉर्मेंस हिट लगेगी क्योंकि सर्वर ऑब्जेक्ट को अलग-अलग कॉल करेगा और क्वेरी के दौरान उन्हें मेमोरी में संग्रहीत डेटा को पेजिंग करने के बजाय स्कैन करेगा।
  • सख्त SQL को सक्षम करने से अधिकतम वर्ण लंबाई लागू हो जाएगी और उन सीमाओं से अधिक दर्ज किए गए किसी भी डेटा को छोटा कर दिया जाएगा।
  • TEXT स्तंभों के लिए एक अनुक्रमणिका उपसर्ग लंबाई की आवश्यकता होती है और इसमें DEFAULT नहीं हो सकता है मान, CHAR . के विपरीत और VARCHAR वस्तुओं।
  • शब्दों की संख्या के आधार पर आकार का अनुमान लगाना:मान लें कि औसत अंग्रेजी शब्द 4.5 अक्षर लंबा है और रिक्ति के लिए 1 अतिरिक्त वर्ण की आवश्यकता है। उदाहरण के लिए, एक साइट जिसमें 500 शब्दों के लेख होते हैं, वह लेख टेक्स्ट डेटा के लिए औसतन लगभग 2,750 वर्णों का उपयोग करेगी। TINYTEXT इस उपयोग के मामले के लिए 255 वर्ण क्षमता अपर्याप्त है, जबकि TEXT 65535 वर्णों की क्षमता उन लेखों के लिए संग्रहण प्रदान करती है जो औसत मानदंड के आधार पर 11,900 शब्दों से अधिक हिट करते हैं।

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. हाइबरनेट:MyISAM के बजाय Mysql InnoDB टेबल बनाएं

  2. MySQL सर्वर को सुरक्षित करना

  3. क्या जॉइन में कुछ गड़बड़ है जो SQL या MySQL में जॉइन कीवर्ड का उपयोग नहीं करते हैं?

  4. अनुक्रमणिका का उपयोग करके InnoDB पर COUNT(*) प्रदर्शन का अनुकूलन कैसे करें

  5. MySQL चुनें कि डेटाटाइम दिन से मेल खाता है (और जरूरी नहीं कि समय)