catch-img

Parallel Query - 日本エクセム株式会社 Oracle 技術情報


目次[非表示]

  1. 1.基本情報
    1. 1.1.オブジェクトの作成時のDegree指定
    2. 1.2.Parallel Hint使用
  2. 2.分析事例
    1. 2.1.不適切なDegree設定によるParallel Query実行過多


基本情報

 Parallel Queryは同時接続、同時使用が多いOLTP環境ではなく、配置やDW環境では、クエリの処理性能を向上させる目的で使用されます。Parallel QueryはParallel Hintを使用したり、オブジェクトの生成時にdegreeを指定することで使用し、Full Table Scan、Index Fast Full Scan、Hash Join、partition tableのLocal Index Scanなどの場合に使用することができます。


オブジェクトの作成時のDegree指定

Create table Test
Parallel (Degree 5)
(id number(2), name varchar2(20));


Parallel Hint使用

Select /*+ Parallel(test,4) */ *
From test;


分析事例

不適切な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が設定されていました。)

alter table TEST parallel ( degree 1 );

上記のように、tableのParallel degreeを1に変更してParallel Queryの実行過多を解決します。

CONTACT

他社に頼らず自社でデータベースを監視・運用をしませんか?
MaxGaugeがサポートします

お役立ち資料は
こちらから

不明点がある方は、
こちらからお問い合わせください

お電話でのお問い合わせはこちら

平日 10時~18時

人気記事ランキング

タグ一覧