티스토리 뷰
디비를 사용하다 해당 테이블의 데이터를 삭제 처리 할때 Delete,Truncate를 이용합니다. 눈으로 보기에는 Delete,Truncate와 별도 차이점 없이 둘다 데이터가 삭제 되는 것으로 생각 될 수 도 있습니다. 그렇지만 Delete,Truncate 각각 처리되는 과정과 결과가 틀린 큰 차이점이 존재 합니다. 이번 포스팅에서는 이러한 Delete,Truncate 2개의 차이점에 대해서 알아 보도록 하겠습니다.
[TRUNCATE 구문]
TRUNCATE TABLE [ { database_name.[ schema_name ]. | schema_name . } ] table_name [ ; ]
[DELETE 구문]
[ WITH <common_table_expression> [ ,...n ] ]
DELETE [ TOP ( expression ) [ PERCENT ] ] [ FROM ] { <object> | rowset_function_limited [ WITH ( <table_hint_limited> [ ...n ] ) ] }
[ <OUTPUT Clause> ]
[ FROM <table_source> [ ,...n ] ]
[ WHERE { <search_condition> | { [ CURRENT OF { [ GLOBAL ] cursor_name } | cursor_variable_name } ] } } ]
[ OPTION ( <Query Hint> [ ,...n ] ) ] [; ]
<object> ::=
{ [ server_name.database_name.schema_name. | database_name. [ schema_name ] . | schema_name. ] table_or_view_name }
1.Delete
-데이터만 삭제 됩니다.
-Commit이전에는 Rollback이 가능합니다.
-롤백정보를 기록 하므로 Truncate에 비해서 느립니다.
-전체 또는 일부만 삭제 가능 합니다.
-삭제 행수를 반환 합니다.
-데이터를 모두 Delete해도 사용했던 Storage는 Release 처리 되지 않습니다.
2.Truncate
-테이블을 최초 생성된 초기상태로 만듭니다.
-Rollback 불가능 합니다.
-무조건 전체 삭제만 가능 합니다.
-삭제 행수를 반환 하지 않습니다.
-테이블이 사용했던 Storage중 최초 테이블 생성시 할당된 Storage만 남기고 Release 처리 됩니다.
*Drop(번외)
테이블의 정의 자체를 완전히 삭제합니다.
Rollback 불가능 합니다.
테이블이 사용했던 Storage를 모두 Release 처리 됩니다.
눈으로 보기에는 차이가 없지만 내부적으로 보면 위와 같은 차이가 있습니다. 위 차이점을 보시면 데이터를 지울때 Delete를 처리하는 것이 맞는지 Truncate가 맞는것인지는 각각 상황에 맞게 처리 하면 됩니다.
'IT > DB' 카테고리의 다른 글
[오라클]커스텀 정렬하기 (2) | 2016.11.08 |
---|---|
[오라클]시퀀스(SEQUENCE) 사용하기 (0) | 2016.11.06 |
[오라클]컬럼 순서 변경하기 (0) | 2016.11.05 |
[오라클]컬럼명으로 테이블 찾기 (0) | 2016.11.04 |
- 림의 외경
- 7700K
- 1800X
- 19대 선거
- 예약메일 전송
- 초대장
- 한글패치
- 블로그 개설
- 다렉
- 티스토리 초대장
- unbound prefix
- 국기 다는 시간
- GPU 출시가격
- 사제 쿨러
- Looper.prepare()
- JSON PASER
- 민주당 대선 후보
- 1800TI
- 테일즈 오브 베르세리아
- 라이젠
- 배달 지연
- GPU 출시
- 단면폭
- 오픈베타
- 한글 패치
- ONLINE JSON
- 포아너
- 하이엔드 그래픽카드
- 래디어 구조
- 투표소
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |