[Hint]병렬처리(NOPARALLEL)
이 힌트는 Query가 병렬로 실행되는 것을 막아 주며 10g에서는 NO_PARALLEL로 사용됩니다.
원래 EMP TABLE의 병렬도는 1이 기본값 인데…
만약 아래와 같이 EMP 테이블의 degree를 2로 주고 Query를 실행 한다면…
SQL>alter table emp parallel(degree 2);
SQL>select * from emp;
Execution Plan
--------------------------------------------------------------------
SELECT STATEMENT Optimizer=CHOOSE
TABLE ACCESS (FULL) OF ‘EMP’
:Q188888
1 PARALLEL_TO_SERIAL SELECT /*+ Q188888 NO_EXPAND ROWID(A1) */ ……
해당 쿼리를 병렬 처리 하게 됩니다.
이 경우 병렬처리를 막기 위해서는 NOPARALLEL 힌트를 사용하면 되는데……
SQL>select /*+ NOPARALLEL(emp) */* from emp;
Execution Plan
--------------------------------------------------------------------
SELECT STATEMENT Optimizer=CHOOSE
TABLE ACCESS (FULL) OF ‘EMP’
이 힌트는 Query가 병렬로 실행되는 것을 막아 주며 10g에서는 NO_PARALLEL로 사용됩니다.
원래 EMP TABLE의 병렬도는 1이 기본값 인데…
만약 아래와 같이 EMP 테이블의 degree를 2로 주고 Query를 실행 한다면…
SQL>alter table emp parallel(degree 2);
SQL>select * from emp;
Execution Plan
--------------------------------------------------------------------
SELECT STATEMENT Optimizer=CHOOSE
TABLE ACCESS (FULL) OF ‘EMP’
:Q188888
1 PARALLEL_TO_SERIAL SELECT /*+ Q188888 NO_EXPAND ROWID(A1) */ ……
해당 쿼리를 병렬 처리 하게 됩니다.
이 경우 병렬처리를 막기 위해서는 NOPARALLEL 힌트를 사용하면 되는데……
SQL>select /*+ NOPARALLEL(emp) */* from emp;
Execution Plan
--------------------------------------------------------------------
SELECT STATEMENT Optimizer=CHOOSE
TABLE ACCESS (FULL) OF ‘EMP’
![]() | ![]() ![]() | 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 |
댓글 없음:
댓글 쓰기