[Hint]병렬처리(APPEND)
Insert 문에 append 힌트를 사용하게 되면 insert되는 테이블에 이미 존재하는 블록의 빈공간은 사용하지 않고 ROW들이 Append 되는데 새롭게 입력되는 데이터는 Database Buffer Cache를 거치지 않고 direct로 블록에 삽입 됩니다… 이 힌트는 모든 insert에 적용되는 것은 아니며 insert ~ select~ 에만 사용 가능한 힌트 구문 입니다.
참고로 데이터 삽입 시 데이터베이스 버퍼 캐시를 거치지 않고 바로 삽입되는 경우를 direct load라고 하는데 sql*loader와 같은 경우에 direct=y라고 하는 경우가 해당 됩니다.
C:>sqlload scott/tiger control=emp.ctl direct=y
보통 insert 시간을 줄이기 위해 insert되는 테이블의 속성을 nologging으로 바꾼 후 append 힌트를 이용하여 데이터를 삽입하는 경우가 많이 있습니다. (이 경우 리두 로그에 기록되지 않으므로 수행시간을 단축 할 수 있습니다. 물론 nologging mode로 전환하여 insert 시간의 단축을 위해서는 반드시 /*+ append */ 힌트를 사용해야 합니다.)
SQL>alter table emp nologging;
SQL>insert /*+ append */ into emp select * from emp_bak;
리두로그에 기록하지 않으므로 복구 시 문제가 발생할 수 있으므로 이 작업 이후엔 해당 테이블을 logging mode로 전환 후 데이터베이스를 hot backup 받아 두는 것이 좋습니다…
SQL>alter table emp logging;
Insert 문에 append 힌트를 사용하게 되면 insert되는 테이블에 이미 존재하는 블록의 빈공간은 사용하지 않고 ROW들이 Append 되는데 새롭게 입력되는 데이터는 Database Buffer Cache를 거치지 않고 direct로 블록에 삽입 됩니다… 이 힌트는 모든 insert에 적용되는 것은 아니며 insert ~ select~ 에만 사용 가능한 힌트 구문 입니다.
참고로 데이터 삽입 시 데이터베이스 버퍼 캐시를 거치지 않고 바로 삽입되는 경우를 direct load라고 하는데 sql*loader와 같은 경우에 direct=y라고 하는 경우가 해당 됩니다.
C:>sqlload scott/tiger control=emp.ctl direct=y
보통 insert 시간을 줄이기 위해 insert되는 테이블의 속성을 nologging으로 바꾼 후 append 힌트를 이용하여 데이터를 삽입하는 경우가 많이 있습니다. (이 경우 리두 로그에 기록되지 않으므로 수행시간을 단축 할 수 있습니다. 물론 nologging mode로 전환하여 insert 시간의 단축을 위해서는 반드시 /*+ append */ 힌트를 사용해야 합니다.)
SQL>alter table emp nologging;
SQL>insert /*+ append */ into emp select * from emp_bak;
리두로그에 기록하지 않으므로 복구 시 문제가 발생할 수 있으므로 이 작업 이후엔 해당 테이블을 logging mode로 전환 후 데이터베이스를 hot backup 받아 두는 것이 좋습니다…
SQL>alter table emp logging;
![]() | ![]() ![]() | 12-27 | 2122 | |
![]() | ![]() ![]() | 12-11 | 1532 | |
53 | ![]() ![]() | 03-15 | 1305 | |
52 | ![]() ![]() | 01-31 | 1444 | |
51 | ![]() ![]() | 01-31 | 1448 | |
50 | ![]() ![]() | 01-31 | 1128 | |
49 | ![]() ![]() | 01-19 | 1446 | |
48 | ![]() ![]() | 01-11 | 1275 | |
47 | ![]() ![]() | 01-03 | 1775 | |
46 | ![]() ![]() | 12-27 | 2122 | |
45 | ![]() ![]() | 12-19 | 1536 | |
44 | ![]() ![]() | 12-14 | 1513 | |
43 | ![]() ![]() | 12-11 | 1532 | |
42 | ![]() ![]() | 12-09 | 1217 | |
41 | ![]() ![]() | 12-01 | 1448 | |
40 | ![]() ![]() | 12-01 | 1587 | |
39 | ![]() ![]() | 12-01 | 1100 |
댓글 없음:
댓글 쓰기