2.3.3 外部表へのアクセス性能のチューニング

外部表へのアクセスに関する処理で期待する性能を得られない場合,次の図に示す手順でボトルネックがどこにあるか検証し,チューニングする必要があります。

図2-11 外部表へのアクセス性能に関するチューニングの手順

[図データ]

 

ボトルネックとなるSQLを特定する
SQL文単位に実行時間を測定します。その結果,時間が掛かっているSQL文や性能目標に達していないSQL文を選び出します。SQLの実行時間は,SQLトレース機能で取得できます。詳細については,マニュアル「HiRDB Version 8 UAP開発ガイド」を参照してください。
そのSQLがボトルネックとなっている要因(機能)を特定する
次に示す二つの側面からボトルネックの要因を特定します。なお,ボトルネックの要因を特定するときには,「外部サーバ実行を行うことのできるSQLをHiRDBで実行していないか(外部サーバ実行)」や「HiRDBと外部サーバの間の通信回数を余計に多くしていないか(外部サーバへの配列FETCH)」などを考慮してください。外部サーバ実行については「2.3.2(2) 外部サーバ実行」を,外部サーバへの配列FETCHについては「2.3.2(4) 外部サーバに対する配列FETCH」を参照してください。
  • アクセスパスの妥当性の検討
    アクセスパス表示ユティリティ(pdvwoptコマンド)でボトルネックとなっているSQLのアクセスパスを取得して,それをより良いアクセスパスに変更できないか,ボトルネック要因となっている機能は何かを検討します。アクセスパス表示ユティリティ(pdvwoptコマンド)については,マニュアル「HiRDB Version 8 コマンドリファレンス」を参照してください。
  • SQL実行時間と処理量の妥当性の検討
    統計解析ユティリティ(pdsteditコマンド)で外部サーバごとの問合せ実行時間や処理行数を取得して,処理行数の割に時間が掛かっている外部サーバ処理がないか,ボトルネック要因となっている機能は何かを検討します。統計解析ユティリティ(pdsteditコマンド)については,マニュアル「HiRDB Version 8 コマンドリファレンス」を参照してください。
ボトルネック要因となっている機能をチューニングする
上記の検討の結果,ボトルネックになっている機能に関する設定をチューニングします。チューニングでは,外部表へのアクセスを含む問合せの最適化に関する設定を行います。チューニング方法については,「2.3.4 外部表へのアクセス性能のチューニング方法」を参照してください。