यह इस बात पर निर्भर करता है कि आप इसका उपयोग किस लिए कर रहे हैं। मुझे ऐसा सामान्य उत्तर देने से नफरत है, लेकिन यह सच है। आम तौर पर, जितना हो सके डेटा प्रकार को विशिष्ट रूप से प्राप्त करने का प्रयास करें। यदि आपके तार कभी भी वर्णों की ऊपरी सीमा से अधिक नहीं होंगे, तो VARCHAR
. के साथ जाएं क्योंकि यह थोड़ा अधिक कुशल होगा। अगर आपको और जगह चाहिए, तो TEXT
. के साथ जाएं . यदि आप सुनिश्चित नहीं हैं कि आपका टेक्स्ट कितना स्थान लेगा, तो आपको संभवतः TEXT
के साथ जाना चाहिए; प्रदर्शन अंतर बहुत बड़ा नहीं है, और जब आपकी आवश्यकताओं में परिवर्तन होता है, तो इसे बाद में बदलने के जोखिम के बजाय भविष्य-सबूत होना बेहतर है। बस मेरे दो सेंट।
टिप्पणियों में, पिटारौ बताते हैं कि, यदि MySQL आपकी क्वेरी के लिए एक अस्थायी तालिका बनाता है (देखें यह
), TEXT
कॉलम मेमोरी में स्टोर नहीं होंगे और उन्हें डिस्क से पढ़ना होगा, जो बहुत धीमी है। (स्रोत
, पृष्ठ के नीचे।) हालांकि, अधिकांश प्रश्नों के लिए यह मायने नहीं रखता।
अगर कोई सोच रहा था कि PostgreSQL कैसे तुलना करता है, तो मैंने पाया -पाठ/">यह बेंचमार्क इससे पता चलता है कि CHAR, VARCHAR और TEXT सभी समान रूप से अच्छा प्रदर्शन करते हैं। इसलिए यदि आप Postgres का उपयोग कर रहे हैं, तो इससे कोई फ़र्क नहीं पड़ता कि आप किस प्रकार का उपयोग करते हैं।