sql >> Databáze >  >> RDS >> Oracle

Jak velký je Oracle XMLType, když je uložen jako BINARY XML

Formát Oracle Binary XML odpovídá formátu „Compact Schema Aware XML Format“ zkráceně CSX. Kódovaná data uložená jako pole BLOB. Podrobnosti o binárním formátu XML jsou k dispozici v dokumentaci Oracle (zde a zde ).

Skutečná velikost datového pole závisí na parametrech úložiště LOB sloupce XMLType. Např. if storage in row možnost zapnuta, pak se malé dokumenty ukládají přímo s jinými daty a vsize() vrátí příslušné hodnoty.

Ve skutečnosti Oracle vytváří základní sloupec BLOB s názvem systému, který lze nalézt dotazem user_tab_cols zobrazit:

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'
  ) 

Tento dotaz vrací systémový skrytý název sloupce, který vypadá jako SYS_NC00002$ .

Poté je možné získat velikost polí pomocí běžného dbms_lob.getlength() volání proti skrytému sloupci:

select dbms_lob.getlength(SYS_NC00002$) from t


  1. Dotaz Vyberte skupinu podle posledního znaku v poli

  2. SubSonic 3 a MySQL, odstranění podtržítka z názvu sloupce v metodě CleanUp() způsobí výjimky při použití vlastnosti v linq-query

  3. Node js (getConnection)

  4. Jak zkontrolovat spojení cassandry s datovým integrátorem pentaho