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 | 29 | 30 | 31 |
Tags
- 다대일
- 일대다
- 비관적락
- JPQL
- SQL프로그래밍
- 이진탐색
- 스토어드 프로시저
- dfs
- eager
- querydsl
- CHECK OPTION
- 데코레이터
- 지연로딩
- 다대다
- PS
- 연관관계
- 동적sql
- fetch
- 유니크제약조건
- exclusive lock
- 연결리스트
- execute
- 백트래킹
- BOJ
- 힙
- 낙관적락
- 즉시로딩
- FetchType
- shared lock
- 스프링 폼
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 |