Teradata Viewpoint クエリー モニター ポートレットを使用して、データベース問合わせを定期的に監視し、報告された遅延の原因が不正な問合わせかどうかを調査することができます。
クエリー モニター ポートレットには、 以下の手順例に示される機能以外にも多数の機能があります。セットアップとオプションの詳細については、<Teradata® Viewpointユーザー ガイド、B035-2206>を参照してください。
- セッション別タブを使用して、問合わせアクティビティを監視します。
- 以下のクエリー モニター パラメータを使用して、不正な問合わせを探します。
- CPU使用率が高くて、REQ入出力アクセスが少ない。CPUを入出力で除算した結果が>100の場合、その問合わせは不正であると考えられます。
- CPUスキュー率が高くて、Delta CPUが顕著。
- スプール使用量が多い。セッション番号別の代わりに、パラメータをクリックして、パラメータ別に表示内容をソートすることができます。
- 不正な問合わせが疑われるCPU特性を示すセッション行を選択して、詳細の表示を表示します。このビューには、問合わせに関する情報(問合わせを実行依頼したユーザーとアカウントなど)が示されます。
- SQLタブを選択して、問合わせを表示します。SQLを調べて、エラーや構成上の問題を探します。
- Explainタブを選択し、アクティブなステップ、完了したステップ、実行中のステップのリストと、ステップ統計とExplainテキストの簡略版(Full EXPLAINリクエストから生成されます)とを表示します。
- Explainで以下をチェックします。
- 問合わせを実行するために必要なステップ
- 実行中の操作のタイプ、およびそれに積結合が含まれるかどうか
多くの場合、問合わせはステップ内の積結合の箇所で止まります。
- SQLタブからクエリーをコピーして、Teradata Studioからそれを実行し、Full EXPLAINを要求して詳細を取得すれば、問題の発生源を検証することができます。
- 問合わせの構成に問題がないようであれば、以下の問題が原因である可能性があります。
- システム条件のために処理が不均等になっている。複数ノード間の問合わせのスキュー処理と複数AMP間での問合わせのスキュー処理を参照してください。
- データ テーブルの分散にスキューが生じている。スキューのあるテーブルの検出と修正を参照してください。
- 問合わせによるデータへのアクセスがブロックされている。ブロックされた問合わせの識別と管理で始まるセクションを参照してください。
不正な問合わせによってデータベース内に問題が生じている場合は、以下を行なってください。
- クエリー モニターを使用して問合わせをアボートする。<Teradata® Viewpointユーザー ガイド、B035-2206>を参照してください。
- SET SESSION ACCOUNTリクエストを発行して、実行効率の低い問合わせを 優先順位の低いアカウントに再割り当てする。詳細の参照先は以下のとおりです。
- アカウントを使用したジョブの優先順位の設定。
- 「SET SESSION ACCOUNT」については、<Teradata Vantage™ - SQLデータ定義言語-構文規則および例、B035-1144>を参照してください。