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

개발합니다

[Oracle] DELETE, TRUNCATE 차이 본문

Web/DB

[Oracle] DELETE, TRUNCATE 차이

돈기법 2022. 3. 29. 18:10

 

DELETE FROM user_table
TRUNCATE TABLE user_table

[DELETE]

DML(Data Manipulation Language) 종류 중 하나이다.

 

delete문은 where절 사용이 가능하고, 테이블에 있는 데이터를 하나하나 선택하여 제거하는 방식.
where절을 쓰지 않고 테이블 내에 모든 데이터를 삭제하더라도, 내부적으로는 한줄한줄 일일히 제거하는 과정을 거친다.
-> 쿼리문 처리 속도가 길다.

따라서 원하는 데이터만 골라서 삭제할 때는 delete를 사용하고,
테이블의 전체 데이터를 삭제하고자 할 때는 truncate를 사용하는 것이 좋다.

delete를 사용해서 삭제한 데이터는 commit 전에는 rollback을 통해 되돌릴 수 있다.

 

[TRUNCATE]

DDL(Data Definition Language) 종류 중 하나이다.

 

truncate문은 테이블에 있는 데이터를 한번에 제거하며, 테이블이 최초 생성되었을 당시의 저장공간만 남긴다.
(create table을 한 직후의 상태로 만듦.)

truncate문은 자동 commit이 되므로 rollback이 불가능하니 주의해야한다.