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

Phân vùng hàng ngày Oracle DB

đây là một ví dụ về cách thực hiện trên Oracle 11g và nó hoạt động rất tốt. Tôi chưa dùng thử trên Oracle 10g, bạn có thể thử.

Đây là cách, cách tạo bảng với phân vùng hàng ngày:

CREATE TABLE XXX (
    partition_date   DATE,
  ...,
  ...,
)
PARTITION BY RANGE (partition_date)
INTERVAL (NUMTODSINTERVAL(1, 'day'))
(
   PARTITION part_01 values LESS THAN (TO_DATE('2000-01-01','YYYY-MM-DD'))
)
TABLESPACE  MY_TABLESPACE
NOLOGGING;

Như bạn thấy ở trên, Oracle sẽ tự động tạo các phân vùng riêng biệt cho mỗi ngày phân vùng riêng biệt sau ngày 1 tháng 1 năm 2000. Các bản ghi có ngày phân vùng cũ hơn ngày này, sẽ được lưu trữ trong phân vùng có tên 'part_01'.

Bạn có thể theo dõi các phân vùng bảng của mình bằng cách sử dụng câu lệnh sau:

SELECT * FROM user_tab_partitions WHERE table_name = 'XXX';

Sau đó, khi bạn muốn xóa một số phân vùng, hãy sử dụng lệnh sau:

ALTER TABLE XXX DROP PARTITION AAAAAA UPDATE GLOBAL INDEXES

trong đó 'AAAAAA' là tên parition.

Tôi hy vọng nó sẽ giúp bạn!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Danh sách trả về <Chuỗi> sử dụng Spring jdbc từ thủ tục được lưu trữ Oracle có đối tượng tùy chỉnh

  2. Thiết kế lược đồ đơn giản để phân biệt dự báo nhu cầu

  3. Làm cách nào để xuất dữ liệu từ Oracle SQL Developer sang Excel?

  4. Truy vấn hiển thị đầu ra theo chiều ngang

  5. Các kiểu dữ liệu Oracle