728x90
반응형
MySQL에서는 일반적인 TRUNCATE TABLE 명령어로 특정 파티션만 비우는 기능이 없습니다. 그러나 ALTER TABLE ... TRUNCATE PARTITION 명령어를 사용하여 특정 파티션을 개별적으로 삭제할 수 있습니다.
특정 파티션의 데이터 삭제
ALTER TABLE table_name TRUNCATE PARTITION partition_name;
예제
ALTER TABLE sales TRUNCATE PARTITION p2023;
- sales 테이블에서 p2023 파티션의 모든 데이터를 삭제.
- 테이블의 다른 파티션에는 영향을 주지 않음.
전체 테이블을 비우는 경우
테이블의 모든 데이터를 삭제하려면 일반적인 TRUNCATE TABLE 사용:
TRUNCATE TABLE sales;
주의: 모든 파티션이 삭제되며 자동 재생성됨.
특정 파티션만 삭제 후 재사용 가능하게 만들기
MySQL에서 TRUNCATE PARTITION은 단순히 데이터를 비우는 것이지, 파티션 자체를 제거하지 않습니다.
특정 파티션을 삭제하고 다시 추가하려면:
ALTER TABLE sales DROP PARTITION p2023;
ALTER TABLE sales ADD PARTITION (PARTITION p2023 VALUES LESS THAN (2024));
주의: DROP PARTITION을 사용하면 데이터와 함께 파티션 자체가 삭제되므로 신중히 사용해야 합니다.
TRUNCATE PARTITION을 지원하는 MySQL 버전
- MySQL 5.7 이상에서 지원됨.
- 일부 스토리지 엔진(InnoDB, NDB)에서만 가능. MyISAM은 지원되지 않음.
결론
- 특정 파티션의 데이터를 삭제하려면:
- 모든 데이터를 삭제하려면:
- 특정 파티션을 삭제 후 다시 생성하려면:
1. 특정 파티션의 데이터를 삭제하려면:
ALTER TABLE table_name TRUNCATE PARTITION partition_name;
2. 모든 데이터를 삭제하려면:
TRUNCATE TABLE table_name;
3. 특정 파티션을 삭제 후 다시 생성하려면:
ALTER TABLE table_name DROP PARTITION partition_name;
ALTER TABLE table_name ADD PARTITION (PARTITION partition_name VALUES ...);
이 방법을 활용하면 MySQL의 파티션 테이블에서 원하는 데이터만 효율적으로 삭제할 수 있습니다.
728x90
반응형
'python > tips' 카테고리의 다른 글
| Tomcat catalina.out 파일을 특정 라인부터 새파일로 만드는 방법 (0) | 2025.02.17 |
|---|---|
| MySQL에서 .gz 압축된 백업 파일 복원 (Restore) (0) | 2025.02.11 |
| mysql에 Data Type Blob으로 4000 Charactor가 차지하는 데이터베이스 테이블의 크기 (0) | 2024.11.06 |
| 맥북에서 숨김 폴더 보기 (0) | 2024.09.19 |
| UnicodeEncodeError: 'latin-1' codec can't encode characters in position 0-3: ordinal not in range(256) 에러발생 (0) | 2024.04.03 |