오라클 temporary 테이블
자세한 설명은 아래의 사이트를 참고했다.
TEMP 테이블
l 해당 세션이나 트랜잭션 에서만 볼 수 있음
l Global Temp Table 은 모든 세션
l Local Temp Table 은 생성한 세션이 종료되면 끝
l 1차로 정렬공간내(메모리인듯)에 생성되며 모자라면 임시테이블스페이스에 생성
l Temp Table에 대한 인덱스와 Temp Table 의 수명주기는 일치하는 듯
l 뷰 안에서 사용은 가능, 다만 조인은 불가, 트리거 정의 가능
l Create Global Temporary Table as Select 가능
l On Commit Delete Rows 는 트랜잭션 내에서만 가능(기본값)
커밋을 수행 시 데이터가 사라짐
l On Commit Preserve Rows 은 전체 세션에서 볼 수 있음
l Dba_Tables 에서 조회 가능, Duration 컬럼을 통해 세션유지 정보 확인 가능
실제로 검증을 위해 800건 정도를 임시테이블에 넣고 써보니 속도가 아주 빠르고 좋았다.
Insert시 속도문제가 있어서 이건 모 UNION ALL 이용하는 방법을 사용했다.
토드의 IMPORT 메뉴에서 사용이 가능한지는 확인을 못해봤다.
문법
create global temporary table ins_test_t(
tmp_01 varchar2(10)
, tmp_02 varchar2(10)
, tmp_03 varchar2(40)
, tmp_04 varchar2(5)
, tmp_02 number
)
on commit delete rows
select *
from ins_test_t
drop table ins_test_t
참고 URL
http://egloos.zum.com/iceken/v/3808926