4.3.2 SQL実行時間を確認する
- 〈この項の構成〉
(1) 確認する情報
「SQL実行時間」を確認し,性能要件を満たしているか確認してください。また,エラーや警告が発生している影響によって,実行に時間が掛かることもあります。エラーや警告が発生していないか,SQL実行時間とあわせて確認してください。確認する情報名について,次に示します。
目的 |
情報の分類 |
情報の内容 |
情報名 |
HiRDB SQL Tuning Advisorの 画面名および項目名 |
---|---|---|---|---|
SQL実行結果を確認する |
SQL単位の情報 |
SQL文を実行した結果 |
SQLCODE |
SQLトレース詳細画面 SQL-CODE |
警告情報 |
SQLWARN |
SQLトレース詳細画面 WARN |
||
SQL実行時間を確認する |
SQL実行時間 |
EXEC-TIME |
SQLトレース集計情報画面(SQL単位) 合計実行時間 |
|
SQLトレース詳細画面 実行時間 |
(2) 確認する情報の表示例
SQL実行時間を確認する情報をHiRDB SQL Tuning Advisorで表示する例を次に示します。
(a) SQLトレース集計情報画面(SQL単位)
SQLトレース集計情報画面(SQL単位)では,「合計実行時間」を確認してください。「合計実行時間」には,各オペレーションの実行時間の合計が表示されます。時間順に表示を並び替えることもできます。
「合計実行時間」が性能要件を満たしていないSQLは,SQLトレース詳細画面で各オペレーションの実行時間や実行結果を確認してください。SQLトレース詳細画面は,SQLトレース集計情報画面(SQL単位)で確認したいSQL文の行をダブルクリックすると表示できます。表示方法の詳細は,HiRDB SQL Tuning Advisorのヘルプを参照してください。
SQLトレース集計情報画面(SQL単位)の表示例を次に示します。
[説明]
この画面では,「合計実行時間」順にソートしています。
(b) SQLトレース詳細画面
SQLトレース詳細画面では,各オペレーションの「実行時間」が確認できます。
SQLトレース詳細画面の表示例を次に示します。
SQL実行結果は,「SQL-CODE」および「WARN」を確認してください。エラーが発生している場合のSQLトレース詳細画面の表示例を次に示します。
(3) 調査の進め方
(a) EXEC-TIMEが性能要件を満たしていない場合
EXEC-TIME(SQL実行時間)が性能要件を満たしていない場合は,HiRDBサーバ側でのSQL実行時間を確認してください。確認方法は,「HiRDBサーバ側でのSQL実行時間を確認する」を参照してください。
(b) EXEC-TIMEが性能要件を満たしている場合
EXEC-TIME(SQL実行時間)が性能要件を満たしているにも関わらず,アプリケーションが性能要件を満たしていない場合は,次に示す原因が考えられます。
-
アプリケーションの処理に時間が掛かっている
-
SQLトレースの出力処理に時間が掛かっている
次に示す情報を確認して原因を特定してください。
目的 |
情報の分類 |
情報の内容 |
情報名 |
HiRDB SQL Tuning Advisorの 画面名および項目名 |
---|---|---|---|---|
アプリケーションの処理時間を確認する |
SQL単位の情報 |
SQL実行要求受付時刻 |
START-TIME |
SQLトレース詳細画面 UAP時間 |
SQL実行要求終了時刻 |
END-TIME |
|||
SQLトレースの出力処理に掛かった時間を確認する |
SQLトレース出力処理時間 |
TRACE OUTPUT TIME |
SQLトレース詳細画面 TRACE OUTPUT TIME |
-
アプリケーション側が処理している時間は,次の計算式で求められます。時間が掛かっている場合は,アプリケーション側の処理を調査および対策してください。
-
SQLトレースを直接確認する場合
((START-TIME)−(直前のオペレーションのEND-TIME))−(TRACE OUTPUT TIME)
-
HiRDB SQL Tuning Advisorを使って確認する場合
(UAP時間)−(TRACE OUTPUT TIME)
注
各項目の表示形式や時間の単位が異なるため,計算する際は形式および単位を合わせてください。表示形式の詳細は,マニュアル「HiRDB Version 9 UAP開発ガイド」の「SQLトレース機能」を参照してください。
-
-
TRACE OUTPUT TIME の値が大きく,SQLトレースの出力処理に時間が掛かっている場合は,トレースを出力しない状態で,アプリケーションの性能を再度評価してください。
アプリケーション側で時間が掛かっているSQLトレースを,HiRDB SQL Tuning AdvisorのSQLトレース詳細画面で表示した例を次に示します。