Top SQL比較
ホーム画面 > プロジェクト選択 > 分析 > Top SQL比較
特定の日付を基準に設定された時間帯のSQLの推移を比較できます。 ユーザは複数の基準を選択してSQLの性能を比較しSummary Chartを通じて時系列グラフで確認できます。 また、画面下のテーブルリストでは、基準日付と比較日付のTop SQL順位と騰落を比較できます。

-
SQL性能把握: ユーザーはTop SQL比較メニューを通じてSQLの性能を簡単に把握できま す。 SQLの実行回数、最大経過時間、総経過時間、待機時間などを比較することで、システムの性能問題を迅速に感知できます。
-
時間別の推移確認: Summary Chartを通じて時間によるSQLの性能変化を視覚的に確認できます。 これにより、ユーザーはシステムの負荷が発生した時間帯や性能低下が発生した区間を素早く把握して対応できます。
-
Top SQL比較: 画面下のテーブルリストでは、基準日付と比較日付のTop SQL順位を比較できます。 これにより、ユーザーはSQLの性能変化を確認し、比較して性能改善に必要な措置を取ることができます。
Top SQL比較
画面の上でTop SQL比較のための条件を設定した後、ボタンを選択します。
-
基準時間: 比較のための基準時間を設定します。 最大24時間まで設定できます。 緑のボタンをクリックすると、照会時間を選択できるオプションが表示されます。 ユーザーが希望する時間を直接設定するには、日付と時間エリアを選択します。
ノート-
照会できる時間範囲はm、最大24時間です。
-
基準時間オプションの利用方法の詳細については。
-
-
比較: 基準時間で設定した時間と比較する日付または時間を選択します。 希望する条件を選択した後、確認ボタンを選択します。
日付 時間 

-
インスタンス: SQL比較のためにインスタンス対象を選択します。
-
照会基準: 比較基準を選択します。 選択した項目に基づいてチャートを作成し、順位をソートします。
-
excute count: 実行回数に基づいて照会結果をソートします。
-
elapsed max: 最大経過時間に基づいて照会結果をソートします。
-
elapsed time: 合計経過時間に基づいて照会結果をソートします。
-
elapsed wait: 待ち時間に基づいて照会結果をソートします。
-
-
照会件数: 画面の下にあるSQL順位テーブルのリストに表示される個数を設定してください。
Summary Chart
Summary Chartでは、基準日付と比較日付のSQL推移を比較できる時系列グラフを提供します。 これにより、ユーザーは時間によるSQLの性能変化を容易に把握できます。

-
◼︎ 青色のグラフ: 基準日付を意味し、右側の数値は平均値を意味します。
-
◼︎ グレーのグラフ: 比較の日付を意味し、右側の数値は平均値を意味します。
SQL順位の比較
画面下のSQL順位テーブルでは、上位SQL一覧が表示されます。 表示される個数は、画面上の照会件数で設定できます。

左側に配置されたテーブルは、基準日付に該当するSQL順位が、右側には比較日付に該当するSQL順位が表示されます。 基準日付テーブルのranck changedカラムでは、比較日付に比べて変化した騰落を確認できます。
例えば、ユーザーがelapsed time(経過時間)を基準に比較したとき、比較日付に比べて基準日付に同じSQL文の経過時間がさらに増えた場合は、当該SQL文の性能を検討する必要があります。 クエリ最適化またはインデックスを使用して性能を最適化してください。
クエリプレビュー

SQL順位テーブ ルでqueryカラム項目にマウスオーバーすると、該当SQL文のクエリを確認できます。
詳細なSQL情報を確認するには、SQL順位テーブルのqueryカラム項目を選択します。 SQL詳細画面が表示されます。 SQLクエリ文とPlan情報を確認することができます。
SQL統計の表示 → ボタンをクリックすると、選択した SQL クエリに関連する統計情報を確認できる SQL統計 に移動します。

-
Runtime Plan: 選択されたSQLクエリの実行計画とランタイム情報を提供します。 実行回数、平均実行時間、平均物理的読み取りなどの詳細を提供します。
-
Explain Plan: オプティマイザーが予測した実行計画を示します。 費用、作業、オブジェクト名、カーディナリティなどの情報を提供します。
-
Plan History: データベースで実行されたSQLクエリの実行計画に対する履歴を確認できます。
-
Bind Capture: データベースで実行されたSQLクエリに使用されたバインド変数を確認できます。 これにより、クエリ実行の実際の内容を確認できます。
ノートリアルタイムで実行されたbind値ではなく、データベースにキャプチャされた値(
v$sql_bind_capture)です。 -
Trend: 選択したSQLの実行指標の推移を、時系列チャートと表で確認できます。実行時間、実行あたりの平均指標、パース回数(total・hard)などの変化を時間順に表示します。
ノートTrendタブに表示される指標の構成は、OracleとOracle Proで異なります。
Bind Captureの値を確認する
Bind Captureタブのバインド値は、既定でマスクされています。マイナンバーや口座番号のような実際の顧客データが含まれる可能性があるため、照会権限だけでは値を見られないように変更されました。
一覧自体はパラメーターキーなしで照会します。収集時刻と変数名、データ型は機密情報ではないためです。value列のみが******でマスクされます。
| Column | Description |
|---|---|
time | 収集時刻 |
last_captured | データベースがバインド値を最後にキャプチャした時刻 |
name | バインド変数名 |
value | バインド値。復号前は******と表示 |
datatype | バインド変数のデータ型 |
child_number | 子カーソル番号 |
値を確認するには、次の手順に従ってください。
-
Bind Captureタブ右上のロックボタンをクリックします。
-
復号キーの確認ウィンドウが表示されたら、パラメーターキーを入力します。パラメーターキーは、エージェントのインストールパスにあるparamkey.txtファイルで確認できます。
-
確認ボタンをクリックします。
キーが正しければウィンドウが閉じ 、value列に実際の値が入ります。復号した後も値がダッシュ(-)で表示される行がある場合がありますが、これはエージェントがその変数の値をキャプチャできなかった場合です。マスクされた状態(******)と区別するために表記を分けています。
ロックボタンが表示されない場合
機密情報照会(SECURITY_READ)権限がないアカウントには、ロックボタンが表示されません。権限についてはプロジェクト管理者にお問い合わせください。
キーを誤って入力 した場合
「無効なパラメーターキーです。」という文言とともにparamkey.txtを確認するよう促す案内が入力欄の下に表示され、ウィンドウは閉じません。失敗理由をこれ以上詳しく表示しないのは、リクエストに含まれるキーの値が画面に露出しないようにするためです。
照会期間の途中でパラメーターキーを変更したことがある場合は、「照会期間中にパラメーターキーが変更されたため、一部の値は復号されませんでした。」という案内とともに一部の行のみが埋められます。
復号の照会は一度に最大500行を返します。上限に達した場合、それより多くの値が切り捨てられている可能性があります。
AI チューニングガイド
AI チューニングガイドは、SQL クエリ、プラン、統計情報を分析してパフォーマンス問題を診断し、最適化の提案を行う機能です。
開発者や DBA がボトルネックの原因を迅速に特定し、効率的な SQL によりパフォーマンスを改善できるよう支援します。
使用条件および注意事項
PostgreSQL、MySQL、SQL Server ではプランの取得が必須です。
プランを取得しない場合、AI チューニングガイドアイコンは (無効)として表示され、機能を使用できません。
- AI が生成する結果は自動分析に基づいており、精度が 100% ではないことにご留意ください。
-
分析および診断する SQL をクリックし、SQL詳細 画面に移動します。
-
SQL詳細 画面の右下にある AI チューニングガイドアイコン
をクリックして AI 分析を開始します。
-
AI 分析結果を確認します。
結果項目 説明 クエリプランおよび概要 クエリの目的と実行概要を表示します。
実行回数、累積実行時間、データベース全体の負荷比率を分析し、当該 SQL がシステムパフォーマンスに与える影響を評価します。パフォーマンス分析 分析結果を総合し、パフォーマンススコアと診断結果を提供します。
CPU 使用率、ディスク使用率、キャッシュヒット率、待機時間など、クエリ実行過程にお ける詳細なリソース使用量を分析し、ボトルネックの発生区間を視覚的に表示します。発見された主な問題 主な問題点を要約して表示します。 最適化推奨事項 検出された問題に基づき、最適化されたクエリを提案します。
デフォルトプランを照会する
デフォルトプランユーザーファイル作成時、エージェントが事前定義されたDB情報を使用してプランを自動的に照会するように設定できます。 デフォルトプランの照会項目のチェックボックスを選択した後、次のように予め入力したDB接続情報を通じてプラン情報を照会します。
- Linux
- Windows
-
エージェント設定(whatap.conf)ファイルに
plan_dbオプションを追加し、DB名を入力します。whatap.confplan_db=(dbname) -
DB設定後
planuid.shスクリプトを使用してユーザーとパスワードを設定します。./planuid.sh user pwdノートユーザー(
user)とパスワード(pwd)に特殊文字が含まれている場合、各特殊文字の前にバックスラッシュ(\)を追加します。例、
user$example→user\$example
-
エージェント設定(whatap.conf)ファイルに
plan_dbオプションを追加し、DB名を入力します。whatap.confplan_db=(dbname) -
DB設定後
planuid.batスクリプトを使用してユーザーとパスワードを設定します。planuid.bat user pwd