“12.2.3 確認”の結果から、以下の場合にチューニングを行います。
“12.1 動作条件”を満たしていることを確認してください。
SQL文の実行時点で、システムリソースに十分な空きがあるかを確認します。(CPU使用率)
SQL文の実行時点で、サーバ内にコア2個分以上のCPU使用率の空きが必要です。例えば、コアの搭載数が4であり、コア1からコア4までの空きの総和が200%以上であれば並列検索が計画されますが、200%未満の場合には並列検索は計画されません。
以下のパラメータを確認します。
“max_worker_processes”に0が指定されていないか
“max_parallel_degree”が省略されていないかまたは0が指定されていないか
“enable_parallelscan”にoffが指定されていないか
“enable_parallelagg”にoffが指定されていないか
対象テーブルのサイズ(ページ数)が“parallel_scan_pages_threshold”の値より大きいか
上記に該当しない場合は、パラメータ“parallel_setup_cost”または“parallel_tuple_cost”の値を小さくして、再確認してください。
チューニングにより改善される可能性があります。以下を確認してください。
CPU使用率に余裕がある場合は、“max_parallel_degree”の値を大きくして、再確認してください。
また、“max_worker_processes”を並列検索を行う最大同時実行SQL文数דmax_parallel_degree”よりも小さい値で指定している場合は、“max_worker_processes”の値を大きくして、再確認してください。
既に並列数が大きい場合には、小さくすることで改善効果が得られる場合があります。
多重度によるオーバーヘッドがレスポンスに影響を及ぼしている可能性がありますので、“max_parallel_degree”の値を小さくして、再確認してください。
ポイント
並列処理プロセス数については、SQL文実行時のCPU負荷やテーブルのサイズによりシステムが最適な値を決定するため、“max_parallel_degree”とならない場合があります。