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

Cố gắng tìm ra chiều dài tối đa của Rowid trong Oracle

ROWID vật lý có kích thước cố định trong một phiên bản Oracle nhất định, nó không phụ thuộc vào số hàng trong bảng. Nó bao gồm số lượng tệp dữ liệu, số khối trong tệp này và số hàng trong khối này. Do đó, nó là duy nhất trong toàn bộ cơ sở dữ liệu và cho phép truy cập trực tiếp vào khối và hàng mà không cần tra cứu thêm.

Khi mọi thứ trong thế giới CNTT tiếp tục phát triển, có thể yên tâm cho rằng định dạng sẽ thay đổi trong tương lai.

Bên cạnh khối lượng, cũng có những thay đổi về cấu trúc, chẳng hạn như sự ra đời của các không gian bảng có thể vận chuyển, điều này khiến nó cần thiết phải lưu trữ số đối tượng (=số nội bộ của bảng / phân vùng / phụ đề) bên trong ROWID.

Hoặc sự ra đời của các bảng được tổ chức theo chỉ mục (được đề cập bởi @ ibre5041), trông giống như một bảng, nhưng thực tế chỉ là một chỉ mục mà không có địa chỉ vật lý như vậy (vì mọi thứ đang di chuyển liên tục trong một chỉ mục). Điều này khiến cần thiết phải giới thiệu UROWID có thể lưu trữ ROWID vật lý và dựa trên chỉ mục.

Xin lưu ý rằng ROWID có thể thay đổi, chẳng hạn như nếu hàng di chuyển từ phân vùng bảng này sang phân vùng bảng khác hoặc nếu bảng bị phân mảnh để lấp đầy các lỗ hổng do nhiều XÓA để lại.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để public_dependency có thể chứa các tham chiếu đến các đối tượng không có trong all_objects?

  2. Hàm to_date của Oracle. Mặt nạ cần thiết

  3. Oracle PL / SQL - Cách thoát dấu hai chấm (:), bị hiểu sai cho biến liên kết

  4. Truy vấn đệ quy Oracle - Ngày tháng

  5. Cách loại bỏ dấu ngoặc kép ẩn trong giá trị cột của SQL Developer