Cả hai đều ném dữ liệu đi. Và nó không phải là 'giao dịch', vì vậy bạn không thể khôi phục dữ liệu bằng ROLLBACK
.
DROP PARTITION
cũng xóa phân vùng khỏi danh sách các phân vùng.
TRUNCATE PARTITION
giữ nguyên phân vùng nhưng trống.
Cách sử dụng phổ biến của DROP PARTITION
là loại bỏ các hàng "cũ". Hãy nghĩ về một bảng thông tin chỉ cần được lưu giữ trong 90 ngày. Sử dụng PARTITION BY RANGE(TO_DAYS(...))
và có các phân vùng hàng tuần. Sau đó, mỗi tuần DROP
cũ nhất và ADD
một phân vùng mới. Thảo luận thêm tại đây
.
Tôi không thấy cần đến TRUNCATE
.
Lưu ý rằng có rất ít trường hợp sử dụng mà bạn có thể nhận được bất kỳ lợi ích nào từ PARTITIONing
. Cho đến nay, tôi thấy chỉ sử dụng cho PARTITION BY RANGE
.