2017-05-10 2 views
0

임시 공간이 항상 일시적으로 줄어들지 만 많은 부분이 다시 축소되는 이유는 궁금합니다. 문제의 명령은Oracle 12c/SQL : "테이블에 삽입 (테이블에서 b 선택) x") 임시 테이블을 사용합니까?

insert into table a (fields) select fields from table b where condition 

오라클이 같은 명령에 대한 임시 테이블을 사용합니까 형태를 가지고? 매뉴얼에서는 "임시 테이블은 정렬에만 사용됩니다"라고 말하지만 여기서 "순서"절을 사용하지 않습니다.

+0

나는 임시 테이블을 기대하지 않을 것이다. 그러나 표 b가 복잡한보기 인 경우 해당 될 수 있습니다. – jarlh

답변

0

TEMP 테이블 공간은 "직접 경로 읽기"와 같은 다른 작업 및 PGA 메모리 집중적 인 작업의 오버플로로도 사용됩니다.

dba_hist_active_sess_history.temp_space_allocated (11g의 +)이 -

dba_hist_tbspc_space_usage 고온 소모 SQL을 보여준다 - 고온 소모 기간을 나타낸다

DBA_HIST_ACTIVE_SESS_HISTORY.pga_allocated는 SQL 가장 PGA를 사용하는 표시하는데 사용될 수있다.

+0

그동안 우리는 m.a.라는 명령을 확인했습니다. 실제로 "유죄"인 것 같습니다. - 결국이 양식의 명령을 말합니다 - 수백만 레코드를 처리하면서 - 임시 공간을 사용합니다. 고마워, 로저! – mideal

+0

@mideal, 나의 기쁨. 좋은 하루 되세요 !!! –

관련 문제