프로그래밍/Oracle
[Oracle] 임시 테이블 생성
eunki
2022. 6. 9. 17:29
728x90
임시 테이블은 영구히 데이터를 남길 필요가 없는 임시로 사용할 데이터인데,
이 데이터가 아주 큰 빅데이터일 때 주로 사용한다.
임시 테이블 생성 방법
1. on commit delete rows : 데이터를 commit 할 때까지만 유지하고, commit 이후에는 데이터가 사라진다.
2. on commit preserve rows : 데이터를 세션을 종료할 때까지만 유지한다.
(세션 종료라는 것은 sqldeveloper 를 종료할 때까지 라는 것이다.)
예제 1. 임시 테이블 생성 - on commit delete rows 옵션 사용
create global temporary table emp56
( empno number(10),
ename varchar2(20),
sal number(10) )
on commit delete rows;
위와 같이 테이블을 생성하면 데이터를 영구히 저장하는게 아니라 commit 할 때까지만 보존한다.
commit 하면 테이블의 구조는 그대로 남고 데이터만 사라진다.
이렇게 하는게 일반 테이블을 만들고 데이터를 지우는 것보다 훨씬 속도가 빠르고 database 에 부하를 주지 않는다.
drop 하지 않고 데이터를 삭제하는 방법
1. delete : delete 로 삭제하면 database 에 많은 부하를 준다.
2. truncate : human error 가 일어날 가능성이 있다.
예제 2. 임시 테이블 생성 - on commit preserve rows 옵션 사용
create global temporary table emp56
( empno number(10),
ename varchar2(20),
sal number(10) )
on commit preserve rows;
728x90