temp dbspace를 정상적으로 생성한 경우라도 모든 temporary 작업이 temp dbspace를
사용하는 것은 아닙니다.
즉 database 가 logging mode 로 생성된 경우 create temp table 문장이나
into temp aaa 와 같은 문장의 경우 반드시 with no log option을 지정하는 경우 만이 temp dbspace 영역을 사용합니다. 참고하시기 바랍니다
>>나그네 님께서 쓰시길<<
:: 임시 테이블과 temp dbspace
::
:: Temp dbspace를 만든 후 $ONCONFIG 파일에 등록하고 DB server를 재가동했습니다. 그런 다음 임시 테
:: 이블을 만들었는데, 이 temp dbspace를 사용하지 않는 것 같습니다. Temp dbspace를 사용하지 못하는
:: 이유가 무엇인지요?
::
:: 우선, DB server가 임시 데이터를 만들어 사용하는 경우는 두 가지 형식이 있습니다. 임시 파일(tempor
:: ary files)과 임시 테이블(temporary tables)이 그것입니다.
::
:: 임시 파일은
:: 색인을 사용할 수 없는 칼럼에 ORDER BY나 GROUP BY를 사용하는 SELECT문, 중복값을 골라내야 하는 U
:: NIQUE, DISTINCT를 사용하는 SELECT 문을 실행하거나, 색인을 사용할 수 없는 칼럼으로 두 테이블 간
:: 에 sort-merge 조인을 실행하는 SELECT문 실행, 또는 hash 조인이 사용되면서 모든 데이터를 공유 메모
:: 리에 올려 놓고 작업할 수 없는 환경에서 hash 테이블을 생성하는 경우, 색인 만들 때 생성되며, warm r
:: estore시에 논리 로그 파일 역시 임시 파일로 생성됩니다.
::
:: 임시 테이블은
:: SELECT문에 INTO TEMP 절을 사용할 때나, CREATE TEMP TABLE문으로 임시 테이블을 생성할 때, 그리
:: 고 BLOB 데이터가 애플리케이션으로부터 DB Server에 있는 내장 프로시져로 전달될 때와 광역 BLOB 데
:: 이터 변수가 선언되고 값이 할당될 때 임시테이블이 생성됩니다.
::
:: 이러한 임시 파일과 임시 테이블은 사용되는 영역에도 차이가 있습니다.
::
|