2013-04-05 7 views
6

में सीएलओबी के आकार को परिभाषित करना मैं एक टेबल बना रहा हूं जिसमें मैं एक्सएमएल संग्रहीत कर रहा हूं। एक्सएमएल स्टोर करने के लिए मैं सीएलओबी डेटा प्रकार का उपयोग कर रहा हूं। मेरे एक्सएमएल का अधिकतम आकार 5 किलो होगा। टेबल बनाने के दौरान मुझे सीएलओबी कॉलम का आकार किस प्रकार परिभाषित करना चाहिए?ओरेकल

उत्तर

10

आप क्लॉब (वर्चर के विपरीत) सेट करते समय बिल्कुल आकार को परिभाषित नहीं करते हैं। यह बस clob है।

लॉब का अधिकतम आकार 4 जीबी है। इस प्रकार

भंडारण बुद्धिमान यह अंतरिक्ष का उपयोग करेगा:

  1. यदि कार्य में पंक्ति के रूप में परिभाषित किया गया है, और कार्य ~ 4KB की तुलना में कम है, यह सिर्फ स्थान की मात्रा तक का समय लग जाएगा दस्तावेज है कि है। (उदाहरण के लिए 512 बाइट्स की एक्सएमएल स्टोर करें और यह 512 बाइट्स का उपयोग करेगा।
  2. यदि लोब को पंक्ति से बाहर परिभाषित किया गया है (या 4kb से अधिक) तो यह आपके द्वारा परिभाषित "खंड" आकार के एकाधिक का उपयोग करेगा । तालिका बनाने

जब एक कार्य स्तंभ बनाते समय, आप इसके भंडारण खंड निर्दिष्ट कर सकते हैं इस तरह में पंक्ति और आउट-ऑफ-पंक्ति विकल्पों को नियंत्रित करने के लिए:

LOB (c) STORE AS lobseg (DISABLE STORAGE IN ROW CHUNK 16384) 

यानी कि उस में निर्दिष्ट करना होगा लॉब को नियमित तालिका डेटा के साथ कभी भी इनलाइन नहीं रखा जा सकता है, और 16kb प्रति खंड के गुणकों में भंडारण आवंटित किया जाएगा, भले ही आपका दस्तावेज़ 1 किलो था, इसमें 16kb sto क्रोध।

यदि आपके एक्सएमएल दस्तावेज़ केवल 5 केबी हैं, तो आप इन-पंक्ति भंडारण पर विचार करना चाहेंगे, और एक छोटा सा हिस्सा आकार डाल सकते हैं (न्यूनतम खंड आकार 1 ब्लॉक है, इसलिए यदि आपके पास 4 केबी एक्सेंट्स के साथ टेबलस्पेस है, तो आपका मिनमम खंड आकार 4kb होगा; यदि आप कम निर्दिष्ट करते हैं, तो इसे अनदेखा कर दिया जाएगा)। इन-पंक्ति लोब्स की इजाजत देने का नुकसान यह है कि तालिका बड़ी होगी, इसलिए बड़ी रेंज स्कैन थोड़ा पीड़ित हो सकती है (लेकिन लॉब पुनर्प्राप्ति तेज है)।

इसके अलावा 11 जी में आपके पास लॉब सेगमेंट को संपीड़ित करने का विकल्प है जिसे आप विचार करना चाहते हैं (यदि आपका लाइसेंस इसे कवर करता है)। हालांकि ऐसे छोटे दस्तावेज़ों के साथ आपको बहुत फायदा नहीं हो सकता है।

यहाँ और अधिक पढ़: http://docs.oracle.com/cd/B28359_01/appdev.111/b28393/adlob_tables.htm

+5

11g में, एक LOB का अधिकतम आकार (4 जीबी - 1) है * (डीबी ब्लॉक आकार) जो 8 और 128 के बीच टीबी के लिए बाहर काम करता है। ऐसा नहीं है कि बहुत से लोगों को पुरानी 4 जीबी सीमा से अधिक की जरूरत है लेकिन आप कर सकते हैं। http://docs.oracle.com/cd/B28359_01/server.111/b28320/limits001.htm –