Trong Oracle Database, extent (mở rộng) là một tập hợp liên tục các block dữ liệu được sử dụng để lưu trữ dữ liệu của một segment (phân đoạn). Segment được tạo thành từ một hoặc nhiều extent, và mỗi extent có kích thước cố định được xác định khi segment được tạo.
Đặc điểm của extent:
- Kích thước: Kích thước của extent là cố định và được xác định khi segment được tạo. Mặc định, kích thước extent là 2MB.
- Phân bổ: Extent được phân bổ tự động bởi Oracle Database khi cần thiết.
- Số lượng: Số lượng extent trong một segment có thể thay đổi theo thời gian khi dữ liệu được thêm vào hoặc xóa khỏi segment.
- Liên tục: Các block dữ liệu trong extent được lưu trữ liên tục trên đĩa.
Lợi ích của extent:
- Sử dụng hiệu quả dung lượng đĩa: Extent giúp sử dụng hiệu quả dung lượng đĩa bằng cách lưu trữ dữ liệu liên tục trên đĩa.
- Cải thiện hiệu suất: Extent có thể giúp cải thiện hiệu suất truy vấn bằng cách cho phép Oracle Database truy cập dữ liệu nhanh hơn.
- Giảm phân mảnh: Extent giúp giảm phân mảnh dữ liệu bằng cách lưu trữ dữ liệu liên quan gần nhau.
Ví dụ về extent:
- Bảng
EMPLOYEES
có thể được lưu trữ trong một hoặc nhiều extent. - Mỗi extent trong bảng
EMPLOYEES
có kích thước 2MB. - Khi dữ liệu được thêm vào bảng
EMPLOYEES
, Oracle Database sẽ tự động phân bổ thêm extent nếu cần thiết.
Lưu ý:
- Kích thước extent có thể ảnh hưởng đến hiệu suất truy vấn. Người dùng nên chọn kích thước extent phù hợp với nhu cầu sử dụng của mình.
- Người dùng có thể xem thông tin về các extent trong database bằng cách sử dụng các view hệ thống, chẳng hạn như
DBA_EXTENTS
vàUSER_EXTENTS
.
Kết luận:
Extent là một đơn vị lưu trữ dữ liệu quan trọng trong Oracle Database, giúp sử dụng hiệu quả dung lượng đĩa, cải thiện hiệu suất truy vấn và giảm phân mảnh dữ liệu. Người dùng Oracle Database nên hiểu rõ vai trò và chức năng của extent để quản lý database hiệu quả.