
Parallel Query - 日本エクセム株式会社 Oracle 技術情報
目次[非表示]
- 1.基本情報
- 1.1.オブジェクトの作成時のDegree指定
- 1.2.Parallel Hint使用
- 2.分析事例
基本情報
Parallel Queryは同時接続、同時使用が多いOLTP環境ではなく、配置やDW環境では、クエリの処理性能を向上させる目的で使用されます。Parallel QueryはParallel Hintを使用したり、オブジェクトの生成時にdegreeを指定することで使用し、Full Table Scan、Index Fast Full Scan、Hash Join、partition tableのLocal Index Scanなどの場合に使用することができます。
オブジェクトの作成時のDegree指定
Parallel Hint使用
分析事例
不適切なDegree設定によるParallel Query実行過多
テーブルの作成時にParallel DegreeとInstances値がdefaultに設定されており、インデックスの使用が可能なSQLにもかかわらずfull table scanが発生しParallelで実行されて、パフォーマンスの低下が発生しました。DWやバッチプログラムで大容量の処理速度を向上させるためにParallel Queryを使用するか、OLTP環境では、CPU使用率とActive Sessionの数を増加させるので、使用することは、パフォーマンスの低下を誘発するのです。
上記のようにActive Sessionが急増している区間が存在します。
PX DEQで始まる待機イベントはParallel関連なので、Parallelで同時にSQL文が実行時され、Slaveプロセスが起動し、Active Sessionが増加することを類推することができます。セッションが実行しているSQL文は、同じSQLでParallel Hintが明示されていないにもかかわらず、Parallelで行われました。(確認した結果、SQLステートメントが照会しているTableのDegreeが設定されていました。)
上記のように、tableのParallel degreeを1に変更してParallel Queryの実行過多を解決します。