Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL の使用法 » データベース・パフォーマンスのモニタリングと改善 » アプリケーション・プロファイリングのチュートリアル » チュートリアル:速度が遅い文の診断

 

レッスン 2:データベース・サーバによって処理された文の確認

Sybase Central の[アプリケーション・プロファイリング] ウィンドウ枠にある [概要] タブと [詳細] タブを使用すると、データベース・サーバが最も処理に時間を要する文を識別できます。

♦  データベース・サーバによって処理された文を確認するには、次の手順に従います。
  1. 分析ファイルを開きます。

    1. Sybase Central で、[モード] - [アプリケーション・プロファイリング] を選択します。アプリケーション・プロファイリング・ウィザードが表示された場合は、[キャンセル] をクリックします。

    2. [アプリケーション・プロファイリング] - [分析ファイルを開くかトレーシング・データベースに接続] を選択します。

    3. [トレーシング・データベース内] を選択し、[開く] をクリックします

    4. [ID] タブをクリックし、[ユーザ ID] フィールドに DBA と入力し、[パスワード] フィールドに sql と入力します。

    5. [データベース] タブをクリックし、[データベース・ファイル] フィールドで app_profiling - DBA を参照して選択します。

    6. [OK] をクリックします。

      ウィンドウの下部に [アプリケーション・プロファイリングの詳細] ウィンドウ枠が表示されない場合は、[表示] - [アプリケーション・プロファイリングの詳細] を選択します。

  2. トレーシング・セッション中に処理された文の実行時間を調査します。

    1. [アプリケーション・プロファイリングの詳細] ウィンドウ枠の [ステータス] タブで、[ロギング・セッション ID] フィールドから最新の ID (最も大きな数値) を選択し、[データベース・トレーシング・データ] タブをクリックします。

    2. 選択したセッションのデータが表示されます。

      [概要] タブに、そのセッション中に実行した SQL 文が表示されます。さらに別の文も表示される場合があります。これは、実行した文によって他の文が自動的に実行されたためです (たとえば、トリガなど)。

      [概要] タブでは、似ている文がグループ化され、合計呼び出し回数と合計処理時間がまとめて表示されます。SELECT、INSERT、UPDATE、DELETE の各文は、参照するテーブル、カラム、式ごとに分類されます。その他の文は 1 つにまとめられます。たとえば、CREATE TABLE 文は [概要] タブに 1 つのエントリとして表示されます。[概要] タブに文のコストが高いと表示された場合は、その文のコストが高いか、その文が頻繁に実行された可能性があります。

      [合計時間][最大時間] カラムを使用して、このチュートリアルより前に実行した 2 つのクエリの実行時間を調査します。最初のクエリには、実行の合計時間として 20 ミリ秒が表示されます。2 番目のクエリには、1 番目より速い実行時間 (16 ミリ秒) が表示されます。これにより、非相関サブクエリを使用する 2 番目のクエリは、より効率的な構文であると考えられます。

      トレーシング・セッション中に実行された SQL 文ごとに、合計呼び出し回数、合計時間、最大時間、ユーザと文のテキストが表示されます。
  3. [概要] タブで任意の SQL 文に関する追加情報を表示するには、文を右クリックし、[選択された概要の SQL 文に対する詳細 SQL 文を表示] を選択します。

    • 文を実行した接続に関する情報を表示するには、文を右クリックし、[選択された文に対する接続の詳細を表示] を選択します。

    • 文に使用された実行プランを表示するには、[詳細] タブで文を右クリックし、[選択された文に対する SQL 文の詳細を表示] を選択します。

      [SQL 文の詳細] ウィンドウが開き、文が使用されたコンテキストに関する詳細情報とともに、文の完全なテキストが表示されます。表示される文のテキストは、実行した元の SQL 文とは一致しない場合があります。さらに、[SQL 文の詳細] ウィンドウには、データベース・サーバによって処理されたときに書き換えられたフォームで文が表示されます。たとえば、ビュー定義はクエリの実行時にオプティマイザによって書き換えられることが多いため、ビューに表示されるクエリは大幅に異なっている可能性があります。

      実行プランを表示するには、[クエリ情報] タブをクリックします。

実行プランに表示される項目の詳細については、実行プランの解釈を参照してください。

相関サブクエリと非相関サブクエリの詳細については、サブクエリの使用を参照してください。

[概要] タブと [詳細] タブの使用方法の詳細については、要求トレース分析の実行を参照してください。