라일락 꽃이 피는 날

[Oracle] 임시 테이블 생성 본문

프로그래밍/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

'프로그래밍 > Oracle' 카테고리의 다른 글

[Oracle] Index (인덱스)  (0) 2022.06.09
[Oracle] View (뷰)  (0) 2022.06.09
[Oracle] 일반 테이블 생성  (0) 2022.06.08
[Oracle] 계층형 질의문  (0) 2022.06.07
[Oracle] 서브 쿼리를 사용하여 데이터 활용  (0) 2022.06.03