जैसा कि टिप्पणियों में मुझसे पूछा गया था कि मैं इसे कैसे हल करूंगा, मैं इसे एक प्रतिक्रिया के रूप में लिखूंगा।
ऐसी स्थिति में होने से एप्लिकेशन डिजाइन में गलतियों का पता चलता है। गौर कीजिए कि इसका क्या मतलब है।
आपके पास एक टेक्स्ट है जिसकी लंबाई आप पहले से निर्दिष्ट नहीं कर सकते हैं, और जो बहुत लंबा (64k तक) हो सकता है, जिसमें से आप विशिष्टता रखना चाहते हैं। कल्पना कीजिए कि इतनी मात्रा में डेटा अलग-अलग कुंजियों में विभाजित हो जाता है, और विशिष्टता उत्पन्न करने के लिए एक समग्र सूचकांक की रचना करता है। आप यही करने की कोशिश कर रहे हैं। पूर्णांकों के लिए, यह 16000 पूर्णांकों का एक सूचकांक होगा, जो एक संयुक्त सूचकांक में शामिल होगा।
आगे विचार करें कि CHARACTER प्रकार के फ़ील्ड (CHAR, VARCHAR, TEXT) एन्कोडिंग द्वारा अंतर्निहित व्याख्या करते हैं, जो इस मुद्दे को और जटिल करता है।
मैं किसी भी तरह डेटा को विभाजित करने की अत्यधिक अनुशंसा करता हूं। यह न केवल DBMS को वेरिएबल लेंथ कैरेक्टर ब्लॉक्स को शामिल करने से मुक्त करता है, बल्कि डेटा के कुछ हिस्सों पर कंपोजिट कुंजियाँ बनाने की कुछ संभावना भी दे सकता है। हो सकता है कि आपको अपने डेटा के लिए एक बेहतर संग्रहण समाधान भी मिल जाए।
यदि आपके कोई प्रश्न हैं, तो मेरा सुझाव है कि तालिका और/या डेटाबेस संरचना पोस्ट करें और बताएं कि टेक्स्ट फ़ील्ड में कौन सा तार्किक डेटा है, और आपको क्यों लगता है कि इसे अद्वितीय होना चाहिए।