2011-09-05 13 views
5

मैं भंडारण कर रहा हूँ पता, और ईमेल के शरीर से, पता करने के लिए सहित एक RDBMS में ईमेल भेजा।PostgreSQL बिग पाठ स्तंभ प्रदर्शन

शरीर वास्तव में किसी भी मनमाना पाठ का हो सकता है, और मैं कभी भी इसकी खोज करने की परवाह नहीं करूंगा।

क्या कोई प्रदर्शन समस्या है जिसके बारे में मुझे चिंता करना चाहिए कि संभावित रूप से बड़े कॉलम होने पर मुझे अक्सर मेरी सबसे अधिक एक्सेस की गई तालिकाओं (ईमेल) में से किसी एक में उपयोग नहीं किया जाता है?

(इस परियोजना रेल में लिखा है)

उत्तर

6

नहीं, आप उस के बारे में चिंता करने की जरूरत नहीं है।

तकनीकी तौर पर वहाँ एक जैसे के बीच भंडारण में कोई अंतर नहीं है varchar(5) और text कॉलम। manual

से

उद्धरण वहाँ इन तीन प्रकार के बीच कोई अंतर प्रदर्शन, के अलावा वृद्धि हुई भंडारण स्थान से जब खाली-गद्देदार प्रकार

तीन प्रकार का उल्लेख वहाँ char का इस्तेमाल कर रहा है varchar और text। जहां char "रिक्त-गद्देदार प्रकार" है।

+0

यह वास्तव में सच नहीं है; एक 'varchar (5)' भंडारण के 9 बाइट्स करने के लिए विवश किया जाता है, लेकिन एक 'text' (या सादे' varchar', एक आकार के बिना) पृष्ठ आकार है, जो पूरी तरह से पेज से बाहर वास्तविक डेटा डालता अधिक हो सकती है। – SingleNegationElimination

+0

@ टोकनमैकगुय: नहीं, उन दोनों के बीच भंडारण में कोई अंतर नहीं है। एकमात्र अपवाद के साथ कि एक वर्चर (5) कभी "टोस्ट" नहीं होगा क्योंकि यह मूल्य को संपीड़ित करने के लिए दहलीज से अधिक नहीं है। एक वर्चर (5) कॉलम में संग्रहीत 5 वर्ण टेक्स्ट कॉलम में संग्रहीत 5 अक्षरों से अलग नहीं हैं। –

+0

ओह ... हम सहमत हैं! – SingleNegationElimination

6

PostgreSQL भंडार एक माध्यमिक क्षेत्र में बड़ी वस्तुओं। आप इसके बारे में यहां पढ़ सकते हैं: TOAST। मुख्य चिंता बड़ी वस्तु को उन प्रश्नों की चुनिंदा सूची से बाहर रखेगी जो कई पंक्तियां लौटाती हैं, ताकि आप माध्यमिक भंडारण क्षेत्र में जाने से बचें।

हैं और जब आप शरीर पाठ पर खोज कार्यात्मकता जोड़ने का फैसला करते हैं, तो आप एक पूरा टेक्स्ट रणनीति है, जो अच्छी तरह से Postgres में समर्थित है का उपयोग करने की आवश्यकता होगी, लेकिन कुछ हद तक गैर सहज है। विषय मैनुअल में उपचार के full chapter प्राप्त करता है।

+0

वह लिंक इसका उल्लेख नहीं करता है, लेकिन पूर्ण पाठ खोज के बारे में, आप टेक्स्ट कॉलम पर एक जीआईएन इंडेक्स सेट करना चाहते हैं। इसके साथ, पूर्ण पाठ खोज बेहद तेज है। मुझे नहीं पता कि अधिक लोग इस PostgreSQL सुविधा का उल्लेख क्यों नहीं करते हैं। – Cerin

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