250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- PS
- 백트래킹
- FetchType
- 스토어드 프로시저
- 낙관적락
- eager
- execute
- 힙
- fetch
- BOJ
- SQL프로그래밍
- 연관관계
- 다대다
- shared lock
- 동적sql
- 데코레이터
- 지연로딩
- 이진탐색
- 연결리스트
- CHECK OPTION
- 즉시로딩
- querydsl
- exclusive lock
- 비관적락
- 유니크제약조건
- dfs
- JPQL
- 다대일
- 일대다
- 스프링 폼
Archives
- Today
- Total
흰 스타렉스에서 내가 내리지
대용량 테이블의 삭제 - DROP, DELETE, TRUNCATE 본문
728x90
- 만약 몇억 거느이 데이터가 있는 대용량의 테이블이 더 이상 필요 없다면 어떻게 삭제하는 것이 좋을까?
1. DELETE
- 삭제가 오래 걸린다.
2. DROP
- 테이블 자체가 삭제된다.
- 따라서 순식간에 모두 삭제된다.
3. TRUNCATE
- DELETE 와 동일한 효과를 내지만 속도가 매우 빠르다.
- DROP 은 테이블이 아예 없어지지만, DELETE 와 TRUNCATE 는 빈 테이블을 남긴다.
- TRUNCATE 는 DELETE 와 달리 WHERE 문을 사용할 수 없다. 그러므로 TRUNCATE 는 조건 없이 전체 행을 삭제할 때만 사용된다.
# 결론
- 대용량 테이블의 전체 내용을 삭제할 때 테이블 자체가 필요 없을 경우에는 DROP 으로 삭제하고, 테이블의 구조는 남겨놓고 싶다면 TRUNCATE 로 삭제하는 것이 효율적이다.
'SQL' 카테고리의 다른 글
[SQL] 데이터 형 변환 - 명시적인 변환 (0) | 2024.04.10 |
---|---|
SQL 에서의 변수 사용, 그리고 PREPARE 와 EXECUTE 절 (0) | 2024.04.10 |
다른 테이블의 데이터를 한 번에 입력하는 INSERT INTO ~ SELECT (0) | 2024.04.09 |
AUTO_INCREMENT 커스텀하기 (0) | 2024.04.09 |
CLI MySQL 실행 (0) | 2023.11.09 |