2009-11-15 18 views
9

मैं अपने डेटाबेस में यूआरएल मूल्यों को संग्रहीत करने के बारे में सोच रहा था, लेकिन मुझे पता है कि कुछ यूआरएल कभी-कभी हास्यास्पद रूप से लंबे होते हैं। मुझे लगता है कि मेरा MySQL डेटाबेस संस्करण 5.0 है।MySQL का उपयोग कर URL मान को संग्रहीत करने का सबसे अच्छा तरीका क्या है?

मैं उपयोग करने के बारे में सोच रहा था।

VARCHAR(255) 

लेकिन यह केवल इतना लंबा काम करेगा। तो मुझे उपयोग करना चाहिए। ताकि आप 255

+0

आपकी ज़रूरतों के आधार पर, आप यूआरएल शॉर्टनिंग (आईई: TinyURL) का उपयोग करते हैं और संक्षिप्त संस्करण स्टोर करते हैं। –

+7

@ ओएमजी टट्टू: यह एक और बाहरी निर्भरता बना रहा है। –

+2

255 बहुत कम है क्योंकि अन्य लोगों ने बताया है। यदि आप चश्मे से जाते हैं तो आपको कम से कम 2K की आवश्यकता होगी। सवाल यह है कि आप इसके साथ क्या करना चाहते हैं? बस टेक्स्ट के रूप में स्टोर करें या इलाज करें? इससे आपको प्रकार (बीएलओबी या वचर/टेक्स्ट) – dajobe

उत्तर

9

MySQL 5.0 में एक VARCHAR की अधिकतम लंबाई, 65536 है। आपकी सबसे अच्छी शर्त यह तय करना है कि आप जिस लम्बाई का समर्थन करना चाहते हैं उस पर निर्णय लें और फिर VARCHAR पर आकार निर्धारित करें यदि यह VARCHAR अधिकतम लंबाई में फिट होगा। यदि आपको टेक्स्ट का उपयोग करने की आवश्यकता है, तो पूछें क्यों।

+0

हाँ, 'टेक्स्ट' एक ओवरकिल –

+0

है, मैंने सोचा कि यह केवल 5.0.3 में उपलब्ध था और बाद के संस्करण – mii

+0

@ एमआईआई: मैं देखता हूं, आप 5.0.0 का उपयोग कर रहे हैं। कठिन भाग्य! –

5

Maximum URL lengths तक ही सीमित नहीं रहे हैं विभिन्न ब्राउज़रों के लिए अलग हैं

TEXT 
+4

चूंकि आईई अधिकतम 2,083 वर्णों का समर्थन करता है, इसलिए आप VARCHAR (2083) का उपयोग करने का निर्णय ले सकते हैं। :-) – AboutDev

+0

@AboutDev: अब हम जानते हैं कि यह पूर्व MySQL 5.0.3 के लिए है, यह नहीं हो रहा है :( –

+0

हां। यदि आपको वास्तव में बहुत से वर्णों का समर्थन करने की आवश्यकता है तो एक संभावित समाधान एक अलग यूआरएल तालिका बनाना और स्टोर करना है यूआरएल के तत्व अलग कॉलम के रूप में ... जैसे कि सर्वर, यादा यड्डा। – AboutDev

0

5.0.0, या वास्तव में कोई भी .0 संस्करण का उपयोग न करें। इसे जीए के रूप में भी जारी नहीं किया गया था।

आपके प्रश्न का उत्तर इस बात पर निर्भर करता है कि आप कितना, या कितना, इसे अनुक्रमित करना चाहते हैं। आप शायद इसे इंडेक्स करना चाहते हैं लेकिन आप एक उपसर्ग इंडेक्स का उपयोग कर सकते हैं जो इंडेक्स में स्पेस के लोड को बचाएगा और लगभग चुनिंदा होगा। नकारात्मकता यह है कि यदि आप यूआरएल को क्रम में क्रमबद्ध करना चाहते हैं, तो एक उपसर्ग सूचकांक ऐसा नहीं करेगा, इसलिए इसे एक फाइलोर्ट की आवश्यकता होगी।

संबंधित मुद्दे

 संबंधित मुद्दे