파티션의 데이터를 비운다. 파티션 자체는 계속 존재한다.
CREATE TABLE t1 (
id INT,
year_col INT
)
PARTITION BY RANGE (year_col) (
PARTITION p0 VALUES LESS THAN (1991),
PARTITION p1 VALUES LESS THAN (1995),
PARTITION p2 VALUES LESS THAN (1999),
PARTITION p3 VALUES LESS THAN (2003),
PARTITION p4 VALUES LESS THAN (2007)
);
ALTER TABLE t1 TRUNCATE PARTITION p0;
-- 아래와 동일
DELETE FROM t1 WHERE year_col < 1991;
-- 복수개 삭제
ALTER TABLE t1 TRUNCATE PARTITION p1, p3;
-- 진짜로 해당 파티션 데이터가 삭제 됐는지 확인
SELECT PARTITION_NAME, TABLE_ROWS
FROM INFORMATION_SCHEMA.PARTITIONS
WHERE TABLE_NAME = 't1';