2012-10-04 16 views
5

मेरे समझ, लांग डेटा प्रकार वास्तविक स्ट्रिंग (वर्ण) स्टोर कर सकते हैं, जबकि लांग कच्चे डेटा प्रकार भंडार स्ट्रिंग (वर्ण) की बाइनरी मान। क्या यह सही है? क्या एक टेबल में केवल एक लंबा प्रकार का कॉलम हो सकता है?ओरेकल में लंबे और लंबे कच्चे डेटा प्रकारों के बीच क्या अंतर है?

+1

ओरेकल लंबी डेटाटाइप्स पश्चगामी संगतता के लिए ही उपलब्ध हैं। बीएलओबी/सीएलओबी डेटाटाइप में बेहतर नजर डालें। – Rene

उत्तर

10

डेटा प्रकार दस्तावेज़ में वर्णित किया जाता है; LONG is explained here (या 11gR2 version):

लंबी कॉलम दुकान चर लंबाई चरित्र 2 गीगाबाइट -1, या 231-1 बाइट तक युक्त तार। लंबे स्तंभों में VARCHAR2 कॉलम की विशेषताओं में से कई हैं। आप लंबे टेक्स्ट स्ट्रिंग को स्टोर करने के लिए लंबे कॉलम का उपयोग कर सकते हैं।

और LONG RAW is here:

रॉ और लंबी रॉ डेटाटाइप्स दुकान डेटा है कि व्याख्या होने के लिए नहीं Oracle डाटाबेस से (जो है, स्पष्ट रूप से परिवर्तित नहीं जब विभिन्न प्रणालियों के बीच डेटा चलती)। ये डेटाटाइप बाइनरी डेटा या बाइट स्ट्रिंग के लिए लक्षित हैं। उदाहरण के लिए, आप लंबे रॉ को ग्राफिक्स, ध्वनि, दस्तावेज़, या बाइनरी डेटा के सरणी संग्रहीत करने के लिए उपयोग कर सकते हैं, जिसके लिए व्याख्या उपयोग पर निर्भर है।

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

ही LONG अनुभाग से:

एक तालिका केवल एक लंबे स्तंभ हो सकते हैं।

हालांकि, LONG (सब कुछ के लिए CLOB या पाठ के लिए NCLOB, BLOB) LOB के पक्ष में पदावनत है, तो आप नए काम के लिए उनका इस्तेमाल नहीं किया जाना चाहिए, और कम से कम किसी भी आप पहले से ही जगह पर विचार किया जाना चाहिए की है। LONG पर 0 उसी पृष्ठ से फिर से:

लंबे कॉलम के साथ तालिकाओं को न बनाएं। इसके बजाय LOB कॉलम (CLOB, NCLOB, BLOB) का उपयोग करें। लंबे कॉलम केवल पिछड़े संगतता के लिए समर्थित हैं।

ओरेकल यह भी सिफारिश करता है कि आप मौजूदा लंबे कॉलम को LOB कॉलम में कनवर्ट करें।

यह documentation on migrating from LONG to LOB रुचि का हो सकता है।

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