Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

बाइनरी एक्सएमएल के रूप में संग्रहीत होने पर ओरेकल एक्सएमएल टाइप कितना बड़ा है

ओरेकल बाइनरी एक्सएमएल प्रारूप "कॉम्पैक्ट स्कीमा अवेयर एक्सएमएल फॉर्मेट" से मेल खाता है जिसे सीएसएक्स के रूप में संक्षिप्त किया गया है। एन्कोडेड डेटा को BLOB फ़ील्ड के रूप में संग्रहीत किया जाता है। Oracle दस्तावेज़ से उपलब्ध बाइनरी XML प्रारूप के बारे में विवरण (यहां और यहां )

डेटा फ़ील्ड का वास्तविक आकार XMLType कॉलम के LOB स्टोरेज पैरामीटर पर निर्भर करता है। उदा. अगर storage in row विकल्प सक्षम किया गया तो छोटे दस्तावेज़ सीधे अन्य डेटा और vsize() . के साथ संग्रहीत किए गए उचित मान देता है।

वास्तव में Oracle सिस्टम नाम के साथ अंतर्निहित BLOB कॉलम बनाता है, जिसे user_tab_cols को क्वेरी करके पाया जा सकता है देखें:

select table_name, column_name, data_type 
from user_tab_cols 
where 
  table_name = 'T' and hidden_column = 'YES'
  and
  column_id = (
      select column_id 
      from user_tab_cols 
      where table_name = 'T' and column_name = 'X'
  ) 

यह क्वेरी सिस्टम हिडन कॉलम नाम लौटाती है जो SYS_NC00002$ . जैसा दिखता है ।

उसके बाद नियमित dbms_lob.getlength() . के साथ फ़ील्ड का आकार प्राप्त करना संभव है छिपे हुए कॉलम के खिलाफ कॉल करें:

select dbms_lob.getlength(SYS_NC00002$) from t


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक अस्थायी तालिका से SQL कॉल अधिकतम पंक्ति संख्या

  2. पीएल/एसक्यूएल प्रक्रिया सफलतापूर्वक पूरी हुई लेकिन कुछ भी नहीं दिखा

  3. Oracle में TO_Char संख्या प्रारूप मॉडल

  4. Oracle- एक क्वेरी में उपयोग के लिए एक अस्थायी परिणामसेट बनाएं

  5. Oracle DB में 4-बाइट UTF-8 वर्णों वाली पंक्तियों का चयन कैसे करें?