[Oracle] DELETE와 TRUNCATE 차이점

DELETE FROM 테이블명과 TRUNCATE TABLE 테이블명의 결과는 모든 데이터를 지운다는 점에서 똑같다.

 

docs에서 Truncate 주의사항을 보면 rollback을 못한다고 한다. 이 뜻은 머냐면 데이터를 지우고나서 사용하던 할당된 저장공간까지 다 지운다는 것이다. 

 

단순히 delete만 하면 데이터를 지우고 나서 할당된 공간은 그대로 남아 있고. rollback을 하여 다시 그 저장공간안에 데이터를 채울수 있다.

 

테이블에 있는 데이터를 모두 지울때는 Truncate를 사용하고 데이터를 몇개씩만 지우고 실수로 지웠을 때 rollback을 하고 싶을땐 delete를 이용하도록 하자.

 

 

참고사이트 http://www.gurubee.net/article/1455

댓글

Designed by JB FACTORY