SQL文のNO_STATEMENT_QUEUING
およびSTATEMENT_QUEUING
ヒントを使用して、文がパラレル文のキューイングでキューに入れられるかどうかに影響を与えることができます。
NO_STATEMENT_QUEUING
PARALLEL_DEGREE_POLICY
をAUTO
に設定すると、このヒントにより文がパラレル文キューに入らないようにすることができます。ただし、文のキューを回避する文は、パラレル文のキューイングを開始する制限を決定するPARALLEL_SERVERS_TARGET
初期化パラメータの値で定義されるパラレル実行サーバーの最大数を超える可能性があります。
システムで使用できるパラレル実行サーバーの数がPARALLEL_MAX_SERVERS
初期化パラメータの値までに制限されるため、パラレル文のキューイングを回避する文がリクエストされたパラレル実行サーバーの数を受け取る保証はありません。
次に例を示します。
SELECT /*+ NO_STATEMENT_QUEUING */ last_name, department_name FROM employees e, departments d WHERE e.department_id = d.department_id;
STATEMENT_QUEUING
PARALLEL_DEGREE_POLICY
をAUTO
に設定しない場合は、このヒントにより文をパラレル文のキューイングに考慮し、リクエストされたDOPで十分なパラレル処理を実行できる場合にのみ実行させることができます。キューイングを有効にする前の使用できるパラレル実行サーバーの数は、使用するパラレル実行サーバーの数とPARALLEL_SERVERS_TARGET
初期化パラメータで定義されるシステムで許可される最大数の違いと同じです。
次に例を示します。
SELECT /*+ STATEMENT_QUEUING */ last_name, department_name FROM employees e, departments d WHERE e.department_id = d.department_id;