반응형
-----------------------------------------------------------------
--truncate
대용량의 테이블을 빠르게 지우는 방법으로 TRUNCATE가 있다.
테이블의 세그먼트 자체를 바로 지우기 때문에 빠르게 데이터가 지워진다.
--실습준비
CREATE TABLE big_table AS
SELECT * FROM ADDRESS;
INSERT INTO big_table
SELECT * FROM ADDRESS;
SELECT * from big_table;
--truncate 사용
TRUNCATE TABLE big_table; --테이블의 데이터를 빠르게 삭제
--여러개 테이블 데이터를 빠르게 삭제
TRUNCATE TABLE big_table,big_table2;
COMMIT;
ROLLBACK; -->오라클은 truncate는 롤백 불가능, postgresql은 롤백가능
SELECT * from big_table;
INSERT INTO big_table
SELECT * FROM ADDRESS;
SELECT * from big_table;
TRUNCATE TABLE big_table;
<delete 와의 차이점>
delete 명령어는 데이터는 지워지지만 테이블 용량은 줄어들지 않는다
원하는 데이터만 지울 수 있다.
삭제 후 잘못 삭제한 것을 되돌 릴 수 있다!!
속도가 느리다.
반면 truncate 명령어는 테이블의 용량이 줄어든다.
테이블은 삭제하지 않고, 데이터만 삭제한다. 한꺼번에 다 지워야 한다.
되돌릴 수 없다!!(posgresql은 가능)
속도가 빠르다
반응형
'DataBase' 카테고리의 다른 글
[sqld 자격증]제로베이스 SQL 온라인 완주반 수강 후기 (0) | 2021.10.18 |
---|---|
[SQL]임시 테이블 (0) | 2021.09.25 |
[SQL]테이블 제거 (0) | 2021.09.25 |
[SQL]컬럼 이름 변경 (0) | 2021.09.25 |
[SQL]컬럼 데이터 타입 변경 (0) | 2021.09.25 |
댓글