sql >> Database teknologi >  >> RDS >> Oracle

Hvor stor er en Oracle XMLType, når den er gemt som BINÆR XML

Oracle Binary XML-format svarer til "Compact Schema Aware XML Format" forkortet til CSX. Kodede data gemt som BLOB-felt. Detaljer om binært XML-format tilgængeligt fra Oracle-dokumentationen (her og her ).

Datafeltets reelle størrelse afhænger af LOB-lagringsparametrene for XMLType-kolonnen. For eksempel. hvis storage in row mulighed aktiveret og derefter små dokumenter gemt direkte med andre data og vsize() returnerer passende værdier.

I virkeligheden opretter Oracle underliggende BLOB-kolonne med systemnavn, som kan findes ved at forespørge user_tab_cols se:

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

Denne forespørgsel returnerer systemets skjulte kolonnenavn, der ligner SYS_NC00002$ .

Derefter er det muligt at få størrelse på felter med almindelig dbms_lob.getlength() opkald mod skjult kolonne:

select dbms_lob.getlength(SYS_NC00002$) from t


  1. oprette en visning, som får rang, brugernavn og antal brugerregistreringer

  2. Django implementering af standardværdi i database

  3. Java bliver ved med at sige, at den ikke kan finde jdbc mysql-driveren

  4. SQLiteDiskIOException:fejlkode 10:disk I/O-fejl genindstilles på ICS og Samsung Nexus på DROP TABLE