기능 | 명령 라인 | 설명 |
병렬 쿼리 활성화 | SELECT /*+PARALLEL(x)*/ ... FROM ...; | x는 0보다 커야 하는 SQL 문의 병렬 처리를 나타냅니다. |
병렬 쿼리 비활성화 | SELECT /*+PARALLEL(x)*/ ... FROM ...; | x가 0으로 설정되면 병렬 쿼리를 비활성화함을 나타냅니다. |
병렬 테이블 지정 | 다음 방법 중 하나로 병렬 쿼리 실행 계획에 포함하거나 제외할 테이블을 지정할 수 있습니다. PARALLEL을 통해 계획에 포함될 테이블을 지정합니다. SELECT /*+PARALLEL(t)*/ ... FROM ...;NO_PARALLEL을 통해 계획에서 제외할 테이블을 지정합니다. SELECT /*+NO_PARALLEL(t)*/ ... FROM ...; | t는 테이블 이름입니다. |
병렬 테이블과 병렬 처리를 모두 지정 | SELECT /*+PARALLEL(t x)*/ * ... FROM ...; | x는 0보다 커야 하는 SQL 문의 병렬 처리를 나타냅니다. t는 테이블 이름입니다. |
지정된 SQL 문에 대해서만 적용되는 hint 문을 통해 session 매개변수 설정 | SELECT /*+SET_VAR(var=n)*/ * ... FROM ...; | var는 session 범위의 병렬 쿼리 매개변수입니다. |
select /*+PARALLEL()*/ * FROM t1, t2;
병렬 쿼리에 대한 병렬 처리 수준을 txsql_parallel_degree(기본값) 값으로 설정합니다. 문이 병렬 쿼리 실행 조건을 충족하지 않으면 직렬 쿼리가 사용됩니다.select /*+PARALLEL(4)*/ * FROM t1, t2;
기본값과 상관없이 명령문의 병렬 처리 수준을 4로 설정합니다. 즉, txsql_parallel_degree = 4입니다. 문이 병렬 쿼리 실행 조건을 충족하지 않으면 직렬 쿼리가 사용됩니다.select /*+PARALLEL(t1)*/ * FROM t1,t2;
병렬 쿼리에 t1 테이블을 포함하고 기본 병렬 처리를 사용합니다. t1이 txsql_parallel_table_record_threshold 값보다 작으면 직렬 쿼리가 사용됩니다.select /*+PARALLEL(t1 8)*/ * FROM t1,t2;
병렬 쿼리에 t1 테이블을 포함하고 병렬 처리 수준을 8로 설정합니다. t1이 txsql_parallel_table_record_threshold 값보다 작으면 직렬 쿼리가 사용됩니다.select /*+NO_PARALLEL(t1)*/ * FROM t1,t2;
병렬 쿼리에서 t1 테이블을 제외합니다. t1이 txsql_parallel_table_record_threshold 값보다 크면 직렬 쿼리가 사용됩니다.select /*+SET_VAR(txsql_parallel_degree=8)*/ * FROM t1,t2;
기본값과 상관없이 문의 병렬 처리 수준을 8로 설정합니다. 즉, txsql_parallel_degree = 8입니다.select /*+SET_VAR(txsql_parallel_cost_threshold=1000)*/ * FROM t1,t2
명령문에 대해 txsql_parallel_cost_threshold=1000을 설정합니다. 실행 페널티가 1000보다 크면 병렬 쿼리를 사용할 수 있습니다.select /*+SET_VAR(txsql_optimizer_context_max_mem_size=500000)*/ * FROM t1,t2
명령문에 대해 txsql_optimizer_context_max_mem_size=500000을 설정합니다. 이는 병렬 쿼리 계획 환경에서 적용할 수 있는 최대 메모리 크기를 500000으로 조정하는 것을 의미합니다.피드백