जवाब है नहीं । यदि आप इससे बच सकते हैं तो
लंबाई संशोधक न जोड़ें varchar
। अधिकांश समय, आपको वास्तव में वैसे भी लंबाई प्रतिबंध की आवश्यकता नहीं होती है। बस text
सभी चरित्र डेटा के लिए उपयोग करें । varchar
अगर आपको RDBMS के साथ संगत रहने की आवश्यकता नहीं है, तो इसे (कोई लंबाई संशोधक) न बनाएं text
।
प्रदर्शन लगभग एक ही है - text
है एक सा दुर्लभ स्थितियों में तेजी है, और आप लंबाई पर जांच करने के लिए चक्र को बचाने।
यदि आपको वास्तव में एक अधिकतम लंबाई लागू करने की आवश्यकता है, तब भी उपयोग करें text
और उसके लिए एक चेक बाधा जोड़ें :
ALTER TABLE tbl ADD CONSTRAINT tbl_col_len CHECK (length(col) < 51);
आप किसी भी समय तालिका की परिभाषा और सभी वस्तुओं (विचारों, कार्यों, विदेशी कुंजी, ...) के साथ गड़बड़ किए बिना ऐसे अवरोध को संशोधित या गिरा सकते हैं।
लंबाई संशोधक के साथ आप बस में चलाने इस तरह की समस्याओं या इस या इस ...
कुछ हद तक दर्द को कम करने के लिए PostgreSQL 9.1 ने एक नई सुविधा शुरू की। मैं यहां जारी नोट्स को उद्धृत करता हूं :
ALTER TABLE ... SET DATA TYPE
उपयुक्त मामलों में तालिका के पुनर्लेखन से बचने की अनुमति दें (नूह मिस, रॉबर्ट हास)
उदाहरण के लिए, varchar
स्तंभ को पाठ में परिवर्तित करने के लिए अब तालिका के पुनर्लेखन की आवश्यकता नहीं है। हालांकि, एक varchar
स्तंभ पर लंबाई की बाधा को बढ़ाने के लिए
अभी भी एक टेबल पुनर्लेखन की आवश्यकता है।