Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Oracle XMLType lớn như thế nào khi được lưu trữ dưới dạng BINARY XML

Định dạng XML nhị phân của Oracle tương ứng với "Định dạng XML của Lược đồ nhỏ gọn Aware" được viết tắt là CSX. Dữ liệu được mã hóa được lưu trữ dưới dạng trường BLOB. Thông tin chi tiết về định dạng XML nhị phân có sẵn từ tài liệu Oracle ( tại đây tại đây ).

Kích thước thực của trường dữ liệu phụ thuộc vào các tham số lưu trữ LOB của cột XMLType. Ví dụ. nếu storage in row kích hoạt tùy chọn sau đó các tài liệu nhỏ được lưu trữ trực tiếp với dữ liệu khác và vsize() trả về các giá trị thích hợp.

Trong thực tế, Oracle tạo cột BLOB bên dưới với tên hệ thống, bạn có thể tìm thấy cột này bằng cách truy vấn user_tab_cols xem:

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

Truy vấn này trả về tên cột ẩn hệ thống trông giống như SYS_NC00002$ .

Sau đó, có thể lấy kích thước của các trường bằng dbms_lob.getlength() thông thường gọi chống lại cột ẩn:

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. Cách lấy số hàng bị ảnh hưởng bởi một câu lệnh khi bên trong trình kích hoạt của câu lệnh đó

  2. Không thể tải loại 'NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle'

  3. chuỗi ký tự quá dài - cách gán dữ liệu xml dài cho kiểu dữ liệu clob trong oracle 11g r2

  4. Truy cập dịch vụ Web từ quy trình được lưu trữ của Oracle

  5. Ví dụ về mệnh đề PIVOT của Oracle với truy vấn con