Dev/Database
[Oracle] TRUNCATE, DELETE, DROP 차이, 테이블 데이터 삭제
알굼
2023. 6. 12. 13:23
반응형
1. 테이블 구조는 남기고 데이터 전체 삭제
- DDL
- 트랜잭션 로그에 한번만 기록되므로 성능이 DELETE보다 좋음
- ROLLBACK 불가능
- 테이블 용량이 초기화됨
TRUNCATE TABLE [테이블명]; |
2. 테이블 존재 자체를 삭제
- DDL
- 테이블 정의, 테이블에 대한 데이터, 인덱스, 트리거, 제약조건 및 권한 모두 제거
DROP TABLE [테이블명]; |
3. 조건절 이용해서 특정 행만 삭제
- DML
- 테이블 용량 감소 X
- 행 잠금(LOCK)을 사용하여 실행됨
- 삭제된 각 행에 대해 트랜잭션 로그를 기록하므로 TRUNCATE 보다 느림
- 인덱싱 된 VIEW 와 함께 사용가능
- ROLLBACK 가능
DELETE TABLE [테이블명] WHERE ROWNUM > 2 ; |
반응형