4.3.3 HiRDBサーバ側でのSQL実行時間を確認する
- 〈この項の構成〉
(1) 確認する情報
「SQL実行時間」が性能要件を満たしていない場合は,「サーバ側でのSQL実行時間」を確認してください。確認する情報名を次に示します。
目的 |
情報の分類 |
情報の内容 |
情報名 |
HiRDB SQL Tuning Advisorの 画面名および項目名 |
---|---|---|---|---|
HiRDBサーバ側でのSQL実行時間を確認する |
SQL単位の情報 |
サーバ側でのSQL実行時間 |
SVR EXEC-TIME |
SQLトレース集計情報画面(SQL単位) SVR EXEC-TIME |
SQLトレース詳細画面 SVR EXEC-TIME |
(2) 確認する情報の表示例
サーバ側でのSQL実行時間を確認する情報をHiRDB SQL Tuning Advisorで表示する例を次に示します。
(a) SQLトレース集計情報画面(SQL単位)
SQLトレース集計情報画面(SQL単位)の「SVR EXEC-TIME」には,各オペレーションの「SVR EXEC-TIME」の合計が表示されます。
「SVR EXEC-TIME」に時間が掛かっているSQLは,SQLトレース詳細画面で各オペレーションの「SVR EXEC-TIME」を確認してください。SQLトレース詳細画面は,SQLトレース集計情報画面(SQL単位)で確認したいSQL文の行をダブルクリックすると表示できます。表示方法の詳細は,HiRDB SQL Tuning Advisorのヘルプを参照してください。
サーバ側でのSQL実行に時間が掛かっている例を次に示します。
[説明]
この画面では,「合計実行時間」順にソートしています。
(b) SQLトレース詳細画面
SQLトレース詳細画面では,各オペレーションの「SVR EXEC-TIME」が確認できます。SQLトレース詳細画面の表示例を次に示します。
(3) 調査の進め方
SVR EXEC-TIME(サーバ側でのSQL実行時間)に問題がある場合は,次の手順で問題点を確認してください。
SVR EXEC-TIMEに問題がない場合は,HiRDBクライアントとHiRDBサーバ間の通信時間を確認してください。確認方法は,「HiRDBクライアントとHiRDBサーバ間の通信時間を確認する」を参照してください。
- 注
-
INSERT 文でアクセスパスが出力されていないSQLについては,アクセスパスと中間結果情報の確認手順は不要です。
(a) アクセスパスを確認する
アクセスパスに問題がないか確認し,対策してください。アクセスパスの確認方法は,「アクセスパスの確認方法の概要」を参照してください。
アクセスパスは,UAP統計レポートに出力されています。アクセスパス情報の出力形式の詳細は,マニュアル「HiRDB Version 9 UAP開発ガイド」の「UAP統計レポート機能」と「HiRDB Version 9 コマンドリファレンス」の「アクセスパス表示ユティリティ(pdvwopt)」を参照してください。
アクセスパスの確認方法を次に説明します。
■ HiRDB SQL Tuning Advisorで確認する場合
SQLトレース集計情報画面(SQL単位)で,確認したいSQL文を選択し,メニュー「表示」−「アクセスパス」を実行すると,アクセスパス情報が表示できます。表示方法の詳細は,HiRDB SQL Tuning Advisorのヘルプを参照してください。
■ UAP統計レポートを直接確認する場合
次に示す手順で,確認するアクセスパス情報を特定してください。
-
調査しているSQL単位の情報からコネクト通番(CNCTNO)とセクション番号(SECNO)を確認してください。
図4‒14 SQL単位の情報 -
アクセスパス情報を示すキーワード「Result of SQL Optimizer」で検索して,手順1で確認したコネクト通番とセクション番号の情報を探してください。
図4‒15 アクセスパス情報
(b) 中間結果情報を確認する
中間結果情報に問題がないか確認し,対策してください。中間結果情報の確認方法は,「中間結果情報の確認方法」を参照してください。
中間結果情報の確認方法を次に説明します。
■ HiRDB SQL Tuning Advisorで確認する場合
SQLトレース集計情報画面(SQL単位)で,確認したいSQL文を選択し,メニュー「表示」−「アクセスパス」を実行すると,アクセスパス情報とともに中間結果情報が表示できます。詳細は,HiRDB SQL Tuning Advisorのヘルプを参照してください。
■ UAP統計レポートを直接確認する場合
中間結果情報の出力個所は,「中間結果情報の出力個所」を参照してください。
(c) 排他待ち時間を確認する
排他待ちが発生していないか確認してください。排他待ちが発生している場合は,排他オプションの指定方法に問題がないか確認し,対策してください。排他オプションの指定方法は,マニュアル「HiRDB Version 9 UAP開発ガイド」の「排他制御」を参照してください。
排他待ち時間は,UAP単位またはトランザクション単位の情報で確認できます。確認する情報名を次に示します。
目的 |
情報の分類 |
情報の内容 |
情報名 |
HiRDB SQL Tuning Advisorの 画面名および項目名 |
---|---|---|---|---|
HiRDBサーバ側でのSQL実行時間を確認する |
UAP単位またはトランザクション単位の情報 |
排他待ち時間 |
WAITT |
UAP統計情報画面 WAITT |
排他待ちに時間が掛かっているUAP統計レポートを,HiRDB SQL Tuning AdvisorのUAP統計情報画面で表示した例を次に示します。
(d) データベースに対する入出力時間を確認する
データベースに対する入出力時間に問題がないか確認し,対策してください。データベースに対する入出力時間に時間が掛かっている場合は,グローバルバッファの使用状況について,確認してください。グローバルバッファの確認方法は,マニュアル「HiRDB Version 9 システム運用ガイド」の「グローバルバッファプールのチューニング」を参照してください。
目的 |
情報の分類 |
情報の内容 |
情報名 |
HiRDB SQL Tuning Advisorの 画面名および項目名 |
---|---|---|---|---|
HiRDBサーバ側でのSQL実行時間を確認する |
UAP単位またはトランザクション単位の情報 |
データベースに対する入出力時間の累計 |
IOTIM |
UAP統計情報画面 IOTIM |
IOTIMM |
UAP統計情報画面 IOTIMM |
入出力に時間が掛かっているUAP統計レポートを,HiRDB SQL Tuning AdvisorのUAP統計情報画面で表示した例を次に示します。