Query Insights でインデックス アドバイザーを使用する

このページでは、Query Insights で Cloud SQL for MySQL インデックス アドバイザーを使用する方法について説明します。

Query Insights でインデックス アドバイザーを使用すると、インデックス アドバイザーの推奨事項を表示し、推奨されたインデックスを作成してクエリのパフォーマンスを向上させることができます。インデックス アドバイザーの詳細については、インデックス アドバイザーの概要をご覧ください。インデックス アドバイザーを使用して推奨事項をテーブルとして表示およびクエリする方法や、オンデマンド分析とレポートをリクエストする方法については、インデックス アドバイザーを使用するをご覧ください。

始める前に

  1. Gemini を設定します。
  2. Query Insights を使用するには、特定の IAM 権限が必要です。カスタムロールを作成し、cloudtrace.traces.get IAM 権限を追加します。次に、Query Insights を使用するユーザー アカウントごとに、このロールを追加します。

  3. クエリプランとそのエンドツーエンドのビューを表示するには、Google Cloud プロジェクトで Trace API を有効にする必要があります。この設定により、Google Cloud プロジェクトは認証済みのソースからトレースデータを追加料金なしで受信できます。このデータは、インスタンスのパフォーマンスの問題を検出して診断する際に役立ちます。

    Trace API が有効になっていることを確認する手順は、次のとおりです。

    1. Google Cloud コンソールから [API とサービス] に移動します。

      [API とサービス] に移動

    2. [有効な API とサービス] をクリックします。
    3. 検索バーに「Trace API」と入力します。
    4. [API が有効です] と表示されている場合、この API は有効になっており、操作は不要です。それ以外の場合は、[有効にする] をクリックします。

インデックス アドバイザーの推奨事項を有効にする

インデックス アドバイザーの推奨事項を有効にするには、Cloud SQL for MySQL インスタンスに cloudsql_index_advisor フラグと performance_schema フラグを追加します。

インスタンスにフラグを追加する方法については、データベース フラグを構成するをご覧ください。

インデックス アドバイザーの推奨事項を表示、フィルタする

  1. Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。

    Cloud SQL の [インスタンス] に移動

  2. インスタンスの [概要] ページを開くには、インスタンス名をクリックします。
  3. [Query Insights] をクリックします。インデックス アドバイザーの推奨事項は、[上位のクエリとタグ] セクションの [推奨事項] 列に表示されます。
  4. (省略可)CREATE INDEX の推奨事項を含むクエリのみを表示するには、[推奨事項: インデックスの作成] のフィルタを追加します。

クエリの推奨事項を表示する

特定のクエリに対するインデックスの推奨事項の詳細を表示する手順は次のとおりです。

  1. Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。

    Cloud SQL の [インスタンス] に移動

  2. インスタンスの [概要] ページを開くには、インスタンス名をクリックします。
  3. [Query Insights] をクリックします。
  4. [上位のクエリとタグ] セクションで、[クエリ] をクリックします。
  5. クエリに関する推奨事項の詳細を確認するには、次のいずれかを行います。
    • クエリをクリックして、選択したクエリの推奨事項の詳細を確認します。これには以下の情報が含まれます。
      • パフォーマンスへの影響(高、中、低): 推奨されるすべてのインデックスが作成された後の推定クエリ速度。
      • 推奨事項: インデックスの推奨事項を作成します。
      • 影響を受けるテーブル: インデックスの作成時に影響を受けるテーブルの数。
      • 推定される必要な追加ストレージ サイズ: 推奨されるインデックスをすべて作成するために必要な推定ストレージ サイズ。
      • 影響を受けるクエリの数: インデックスの推奨事項の影響を受けるワークロードのクエリの合計数。インデックスは複数のクエリに対するメリットがある場合があります。
    • 特定のクエリの [インデックスの作成] をクリックすると、クエリのパフォーマンスを改善するためのインデックスの作成に関する詳細な推奨事項を確認できます。

影響を受けるクエリを表示する

  1. Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。

    Cloud SQL の [インスタンス] に移動

  2. インスタンスの [概要] ページを開くには、インスタンス名をクリックします。
  3. [Query Insights] をクリックします。
  4. [データベースの負荷別の上位項目] テーブルで、[クエリ] をクリックします。
  5. 特定のクエリの [インデックスの作成] をクリックします。
  6. [影響を受けるクエリを表示] をクリックします。
  7. クエリをクリックして、影響を受けるクエリの詳細を確認します。
  1. Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。

    Cloud SQL の [インスタンス] に移動

  2. インスタンスの [概要] ページを開くには、インスタンス名をクリックします。
  3. [Query Insights] をクリックします。
  4. [データベースの負荷別の上位項目] テーブルで、[クエリ] をクリックします。
  5. 特定のクエリの [インデックスの作成] をクリックします。
  6. [すべての index コマンドをコピー] をクリックします。CREATE INDEX コマンドがクリップボードにコピーされます。
  7. コマンドラインでプライマリ インスタンスに接続します。
  8. 推奨されたインデックスを作成するには、クリップボードにコピーされたコマンドを実行します。以下はその例です。

    CREATE INDEX ON "public"."demo_order" ("customer_id");
    

次のステップ