Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
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
Archives
Today
Total
관리 메뉴

Dende

[SQLD] DROP, DELETE, TRUNCATE의 차이점 본문

SQLD

[SQLD] DROP, DELETE, TRUNCATE의 차이점

Dende 2022. 8. 23. 22:58

1.Delete
- 데이터만 삭제 되며 테이블 용량은 줄어 들지 않는다. 또한 삭제후 잘못 삭제한 것을 되돌릴 수 있다.

- TABLE이나 CLUSTER에 행이 많으면 행이 삭제될 때마다 많은 SYSTEM 자원이 소모 된다.

- Commit이전에는 Rollback이 가능하다.
- 롤백정보를 기록 하므로 Truncate에 비해서 느리다.
- 전체 또는 일부만 삭제 가능 하다.
- 삭제 행수를 반환 한다.
- 데이터를 모두 Delete해도 사용했던 StorageRelease 처리 되지 않는다.

 

 

2.Truncate - 테이블의 모든 로우를 제거하는 Truncate Table /  DDL
- 테이블을 최초 생성된 초기상태로 만든다.
- 용량이 줄어들고, 인덱스 등도 모두 삭제 된다.
- Rollback 불가능 하다.
- 무조건 전체 삭제만 가능 하다.
- 삭제 행수를 반환 하지 않는다.
- 테이블이 사용했던 Storage중 최초 테이블 생성시 할당된 Storage만 남기고 Release 처리 된다.

 

 

3. Drop table - 테이블 구조를 제거
기존 테이블의 존재를 제거한다. (테이블의 정의 자체를 완전히 삭제한다)
Rollback 불가능 하다.
테이블이 사용했던 Storage는 모두 Release 처리 된다.

 

출처: https://goddaehee.tistory.com/55 [갓대희의 작은공간:티스토리]

'SQLD' 카테고리의 다른 글

[SQLD] VIEW?  (0) 2022.08.24
[SQLD] 서브쿼리  (0) 2022.08.23
[SQLD] GROUP BY 룰  (0) 2022.08.23
[SQLD] Group By와 Having  (0) 2022.08.22
[SQLD] SQL 과목  (0) 2022.08.21