2008-09-26 16 views
27

SQL सर्वर में किसी तालिका में बड़ी मात्रा में टेक्स्ट स्टोर करने का सबसे अच्छा तरीका क्या है?SQL सर्वर तालिका में बड़ी मात्रा में टेक्स्ट स्टोर करने का सबसे अच्छा तरीका क्या है?

वर्चर (अधिकतम) विश्वसनीय है?

उत्तर

46

SQL 2005 और उच्चतर में, VARCHAR (MAX) वास्तव में पसंदीदा तरीका है। टेक्स्ट प्रकार अभी भी उपलब्ध है, लेकिन मुख्य रूप से एसक्यूएल 2000 और उससे कम के साथ पिछड़े संगतता के लिए।

10

मुझे VARCHAR (MAX) (या वास्तव में NVARCHAR) का उपयोग करना पसंद है क्योंकि यह मानक VARCHAR फ़ील्ड की तरह काम करता है। चूंकि यह परिचय है, जब भी संभव हो, मैं टेक्स्ट फ़ील्ड के बजाय इसका उपयोग करता हूं।

+4

NVARCHAR के बारे में बहुत अच्छा बिंदु; मेरा बुरा - मुझे इसका उल्लेख करना चाहिए था। –

2

ब्लॉब में

BLOBs बहुत बड़ी चर बाइनरी या चरित्र डेटा, आम तौर पर दस्तावेजों (.txt, .doc) और चित्रों (.jpeg, .gif, .bmp) है, जो एक डेटाबेस में संग्रहित किया जा सकता है । एसक्यूएल सर्वर में, BLOBs पाठ, ntext, या छवि डेटा प्रकार किया जा सकता है, तो आप एक साथ

पाठ

चर लंबाई गैर-यूनिकोड डेटा, सर्वर कोड पेज में संग्रहीत पाठ प्रकार का उपयोग कर सकते हैं, 231 - 1 (2,147,483,647) वर्णों की अधिकतम लंबाई।

2

here पर मिले पाठ के अनुसार, varbinary (अधिकतम) जाने का तरीका है। आप लगभग 2 जीबी डेटा स्टोर करने में सक्षम होंगे।

2

वर्कर (अधिकतम) केवल SQL 2005 या बाद में उपलब्ध है। यह 2 जीबी तक स्टोर करेगा और इसे नियमित वर्चर के रूप में माना जा सकता है। एसक्यूएल 2005 से पहले, "टेक्स्ट" प्रकार का उपयोग करें।

2

टेक्स्ट को उन हिस्सों में विभाजित करें जिन्हें आपका डेटाबेस वास्तव में संभाल सकता है। और, एक और तालिका में विभाजित पाठ डाल दें। text_chunk तालिका से text_chunk_id पर अपनी मूल तालिका में उपयोग करें। आप अपनी तालिका में एक और कॉलम टेक्स्ट को रखने के लिए चाहते हैं जो आपके सबसे बड़े टेक्स्ट डेटा प्रकार के भीतर फिट बैठता हो।

CREATE TABLE text_chunk (
    id NUMBER, 
    chunk_sequence NUMBER, 
    text BIGTEXT) 
+4

यह बहुत भारी वजन लगता है; कुछ संदर्भ जब इस तकनीक की आवश्यकता होती है या उपयुक्त बनाम nvarchar, और लागत/लाभ क्या है एवरवर की गुणवत्ता में सुधार होगा। – SAJ14SAJ

0

उपयोग nvarchar(max) एक भी रिकॉर्ड में पूरे चैट वार्तालाप धागा स्टोर करने के लिए। मार्कर डालने से सामग्री टेक्स्ट में प्रत्येक व्यक्तिगत टेक्स्ट संदेश (या ब्लॉक) की पहचान की जाती है।

उदाहरण:

{{UserId: Date and time}}<Chat Text>. 

प्रदर्शन पर समय यूआई काफी बुद्धिमान इस मार्कर को समझते हैं और इसे सही ढंग से प्रदर्शित करने के लिए किया जाना चाहिए। इस तरह एक रिकॉर्ड को एक ही बातचीत के लिए पर्याप्त होना चाहिए जब तक कि आकार सीमा तक नहीं पहुंच जाती है।

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

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