Tạo bảng INVOICES là bảng non-partition. Giả sử đây là bảng chúng ta cần partitioning:
Thêm 1 chút dữ liệu để test
Đây là 1 bảng non-partition, mục tiêu của chúng ta là chia bảng ra thành partition dựa trên partition key là INVOICE_DATE.
VD: invoices_q1 tương ứng với các dòng dữ liệu có INVOICE_DATE là giá trị thời gian thuộc Quý 1. Tương tự như vậy với các partition invoices_q2, invoices_q3, invoices_q4.
2. Tạo bảng partition
Bước tiếp theo, chúng ta tạo 1 bảng khác với các cột giống hệt bảng INVOICES, nhưng đã có sẵn 1 partition
3. Thực hiện EXCHANGE table
Tiếp theo, chúng ta thực hiện lệnh sau:
Giải thích:
Câu lệnh này sẽ tráo đổi metadata, biến segment chứa dữ liệu tương ứng với bảng INVOICES trở thành segment của partition invoices_q4 của bảng INVOICES_P.
Quá trình này chỉ thực hiện ở cấp độ metadata, nên rất nhanh.
4. Kiểm tra lại kết quả:
5. Thực hiện SPLIT PARTITION
Tiếp theo, chúng ta sẽ dùng các câu lệnh sau để chia partition invoices_q4 của bảng INVOICES thành các partition nhỏ hơn:
6. Đổi tên bảng
Như vậy tôi đã partition bảng này thành công, việc cuối cùng là đổi tên bảng INVOICES_P thành INVOICES
7. Kiểm tralại kết quả
Bạn kiểm tra lại kết quả cuối cùng bằng câu lệnh sau: