मेरे समझ, लांग डेटा प्रकार वास्तविक स्ट्रिंग (वर्ण) स्टोर कर सकते हैं, जबकि लांग कच्चे डेटा प्रकार भंडार स्ट्रिंग (वर्ण) की बाइनरी मान। क्या यह सही है? क्या एक टेबल में केवल एक लंबा प्रकार का कॉलम हो सकता है?ओरेकल में लंबे और लंबे कच्चे डेटा प्रकारों के बीच क्या अंतर है?
उत्तर
डेटा प्रकार दस्तावेज़ में वर्णित किया जाता है; 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
रुचि का हो सकता है।
ओरेकल लंबी डेटाटाइप्स पश्चगामी संगतता के लिए ही उपलब्ध हैं। बीएलओबी/सीएलओबी डेटाटाइप में बेहतर नजर डालें। – Rene