① ALTER SESION 명령어를 이용하는 방법
ALTER SESSION은 오라클에서 사용되는 각종 파라미터, 정확히 말해서 세션 파라미터나 환경 변수의 값을 변경하는 명령어로, 이미 <13장. 동적 SQL>에서 ALTER SESSION 명령어에 대해서 소개한 적이 있다. 이번에는 ALTER SESSION 명령어로 병렬 쿼리와 관련된 옵티마이저 파라미터를 변경해서 병렬 쿼리를 처리하는 방법을 알아 보자.
ALTER SESSION ENABLE PARALLEL QUERY
• 해당 세션에서 병렬 쿼리 옵션을 활성화하며 기본적으로는 활성화 상태이다.
ALTER SESSION FORCE PARALLEL QUERY PARALLEL degree 수
• 해당 세션에서 병렬 쿼리 옵션을 강제 활성화시키면서 degree 수만큼 프로세스를 띄워 병렬 처리를 한다. degree 수는 일반적으로 오라클 DB서버의 CPU 개수의 두 배를 설정하는데 설치된 서버 환경에 따라 계산 방식이 다르다.
ALTER SESSION DISABLE PARALLEL QUERY
• 해당 세션에서 병렬 쿼리 옵션을 비활성화한다.
ALTER SESSION 명령어로 병렬 쿼리를 처리하는 형태는 다음과 같다.
입력
DECLARE
-- 변수 선언 ...
BEGIN
-- PL/SQL 블록에서는 ALTER SESSION 명령어는 동적 SQL을 사용해야 한다
-- 강제로 병렬 쿼리를 실행시키고 degree 수는 4로 설정했다
EXECUTE IMMEDIATE'ALTER SESSION FORCE PARALLEL QUERY PARALLEL 4';
SELECT 문장...
...
...
END;
위 예제는 익명 블록 형태지만 프로시저에서 사용하는 방식도 동일하며 병렬 처리는 처리 속도가 빠르다는 장점이 있지만 남용하면 오히려 느려질 수 있으므로 적절하게 사용해야 한다.