sql >> Database >  >> RDS >> Oracle

Hoe groot is een Oracle XMLType wanneer opgeslagen als BINARY XML?

Oracle Binary XML-formaat komt overeen met "Compact Schema Aware XML Format", afgekort als CSX. Gecodeerde gegevens opgeslagen als BLOB-veld. Details over binaire XML-indeling beschikbaar in Oracle-documentatie (hier en hier ).

De werkelijke grootte van het gegevensveld hangt af van de LOB-opslagparameters van de XMLType-kolom. bijv. if storage in row optie ingeschakeld dan kleine documenten direct opgeslagen met andere gegevens en vsize() geeft de juiste waarden terug.

In werkelijkheid creëert Oracle onderliggende BLOB-kolom met systeemnaam, die kan worden gevonden door user_tab_cols op te vragen bekijken:

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

Deze query retourneert systeem verborgen kolomnaam die eruitziet als SYS_NC00002$ .

Daarna is het mogelijk om de grootte van velden te krijgen met de gewone dbms_lob.getlength() oproep tegen verborgen kolom:

select dbms_lob.getlength(SYS_NC00002$) from t


  1. Op welke waarde moet de eigenschap providerName worden ingesteld bij het opslaan van een MySQL-verbindingsreeks in App.config?

  2. Uw ultieme gids voor SQL Join:INNER JOIN - Deel 1

  3. Bereken Max van de som van een geannoteerd veld over een gegroepeerd op query in Django ORM?

  4. Mysql trefwoorden in tekst vinden