티스토리 뷰
DELETE, TRUNCATE, DROP 명령어 모두 삭제하는 명령어이지만 중요한 차이점이 있다.
DELETE
- 데이터는 지워지지만 테이블 용량이 줄어들지 않는다.
- 원하는 데이터만 지울 수 있고 삭제 후 COMMIT 이전에 ROLLBACK을 통해 되돌릴 수 있다.
- ROLLBACK 정보를 기록하므로 TRUNCAT에 비해 느리다.
- 삭제 시 행수를 반환한다.
TRUCATE
- 용량이 줄어들고, 인덱스 등도 삭제된다.
- 테이블은 삭제되지 않고, 데이터만 삭제한다.
- 원하는 데이만 지울 수 없고 전체 삭제만 가능하다.
- 삭제 후 되돌릴 수 없다.
- 삭제 행수를 반환하지 않는다.
DROP
- 테이블 전체를 삭제, 공간, 객체를 삭제한다.
- 삭제 후 되돌릴 수 없다.
구분 | 테이블 정의 | 저장 공간 | 작업속도 | SQL 구분 |
DELETE | 존재 | 유지 | 느림 | DML |
TRUNCATE | 존재 | 반납 | 빠름 | DDL |
DROP | 삭제 | 반납 | 빠름 | DDL |
일반적으로 DELETE를 많이 사용하지만 IF 수집/제공을 하는 경우에 테이블 전체 삭제 후 데이터를 적재하는 경우가 생긴다. 이런 상황에서 데이터 양이 많다면 TRUNCATE를 사용하여 처리해야 한다. DELETE 만으로 데이터를 삭제하면 겉으로는 데이터가 삭제는 되지만 저장공간이 지워지지 않고 또한 삭제 작업 속도가 느려 문제가 발생할 요지가 있다.
'데이터베이스 > SQL' 카테고리의 다른 글
[SQL] 오라클(Oracle) 계정 생성 및 권한 부여 (0) | 2019.05.16 |
---|---|
[SQL] 로우(Row) VS 레코드(Recode) VS 튜플(Tuple) 차이 (0) | 2019.05.15 |
[SQL] SQL 기본 (TCL) (0) | 2019.03.31 |
[SQL] SQL 기본 (DML) (0) | 2019.03.29 |
[SQL] SQL 기본 (DDL) (0) | 2019.03.28 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
링크
TAG
- 리눅스 명령어
- 성능분석
- 정렬 알고리즘
- sort algorithm
- React
- 소프트웨어공학
- 오라클
- javascript
- 개발환경
- 리액트 16
- SQL
- 자바
- 제주도 여행
- Maven
- effective java
- 회고
- Java
- 프로그래머
- Tomcat
- Collection
- 자바스크립트
- 프로그래머스
- 제주도 3박4일 일정
- spring
- Eclipse
- 이직
- 경력관리
- Linux 명령어
- 오라클 내장 함수
- 리액트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함