すべてのプロダクト
Search
ドキュメントセンター

Hologres:クエリインサイト

最終更新日:Feb 05, 2026

クエリインサイトは、スロークエリログとテーブル統計情報を提供する `hg_table_info` システムテーブルを統合した機能です。クエリのリソース消費量、関連テーブルのメタデータ、実行計画などの実行情報を提供します。また、クエリが DDL 衝突やテーブルロックを引き起こしているかを迅速に特定できるため、トラブルシューティングおよび問題解決を支援します。

前提条件

インスタンスへのログインが完了している必要があります。詳細については、「インスタンスへのログイン」をご参照ください。

クエリインサイトへのアクセス

HoloWeb の Query Insight に、Diagnostics and Optimization ページから直接アクセスできます。あるいは、HoloWeb の SQL Editor または Historical Slow Queries ページから Query Insight に移動することもできます。

  1. Hologres 管理コンソール にログインします。

  2. 上部メニューバー左側のナビゲーションウィンドウで、対象のリージョンを選択します。

  3. Go to HoloWeb をクリックして、HoloWeb 開発ページに移動します。

  4. クエリインサイトページにアクセスします。

    クエリインサイトへの直接アクセス

    上部メニューバーで Diagnostics and Optimization を選択し、左側のナビゲーションウィンドウで Metadata Warehouse Analysis > Query Insight をクリックして、クエリインサイトページに移動します。image

    クエリインサイトへのナビゲーション

    HoloWeb では、Query Insight に、SQL Editor または Historical Slow Queries ページからアクセスできます。手順は以下のとおりです:

    • SQL エディター:HoloWeb の SQL エディターで、実行時間が 1 秒を超えるクエリ ID を含む SQL 文をクリックすると、クエリインサイトに移動できます。

    • 履歴スロークエリ:クエリ一覧で、対象の SQL クエリの Actionsimage アイコンをクリックして、クエリインサイトに移動します。

    クエリインサイトページでは、Query Metadata および Table Metadata を表示でき、Plan Visualization および Table Lock Analysis を実行できます。

クエリメタデータ

クエリメタデータは Hologres のスロークエリログから取得されます。デフォルトでは、実行時間が 100 ms を超える DML 文およびすべての DDL 文のみが収集されます。ただし、このデータを照会する際には、実行時間が 1 秒を超える DDL 文のみが結果に表示されます。スロークエリログを照会するには、特定の権限が必要です。詳細については、「スロークエリログの表示と分析」をご参照ください。まず、Query Metadata タブを選択し、Instance Name および Query ID を指定して、Search をクリックすると、クエリメタデータが表示されます。

  • 基本情報

    クエリのインスタンス ID、DB、Milvus バージョンを表示します。

  • クエリ情報

    スロークエリログから収集されたクエリの基本情報を表示します(例:ユーザー、実行ステータス、使用された実行エンジン)。

  • リソース消費量

    スロークエリログから収集されたクエリ実行時のリソース消費量を表示します(例:スキャン関数、CPU 消費量)。

  • その他の情報

    スロークエリログから収集されたクエリの拡張情報を表示します(例:クライアント IP アドレス)。

  • SQL

    現在の SQL クエリの内容を表示します。必要に応じて、より直感的な表示のためにクエリをフォーマットしたり、コピーしたりできます。

  • クエリの詳細

    クエリがパラメーター付きで実行された場合、このセクションには具体的なパラメーター値が表示されます。必要に応じて、パラメーターを SQL 文にマージできます。

  • 実行計画

    スロークエリログの Plan フィールドから取得したクエリの実行計画を表示します。なお、実行計画は実行時間が 10 秒を超えるクエリのみ収集されます。実行計画のグラフィカルな可視化機能を使用することで、さらにクエリの最適化が可能になります。実行計画の詳細については、「EXPLAIN および EXPLAIN ANALYZE」をご参照ください。

  • 統計情報

    スロークエリログの Statistics フィールドから取得したクエリの実行情報を表示します。各オペレーターごとの詳細な消費情報を示します(例:スキャン行数、オペレーター実行時間)。これらの統計情報を用いてオペレーターの消費状況を分析し、クエリのさらなる最適化を行えます。

  • 読み取り/書き込みテーブル情報

    現在のクエリによって読み取られたり書き込まれたりするテーブルを表示します。以下のリンクをクリックできます:

    • テーブルメタデータ:現在のテーブルのメタデータを表示する「テーブルメタデータ」ページに移動します。テーブルメタデータは `hg_table_info` テーブルから収集され、データは翌日(T+1)に更新されます。したがって、本日作成されたテーブルのメタデータは、翌日以降に照会可能です。

    • テーブルロック分析:現在のクエリがロックを保持しているかを確認できる「テーブルロック分析」ページに移動します。この分析では、DML 関連のロックのみを検出します。たとえば、固定プランを持つ SQL クエリの実行が遅延している場合、テーブルロック分析を用いて、Hologres 実行エンジン(HQE)による同時 DML 操作が存在しないかを確認できます。これにより、クエリの実行時間が増加している原因を特定できます。

  • DDL 衝突分析

    現在のクエリの実行前後 1 分以内に、関与するテーブルに対して DDL 操作が実行されたかどうかを表示します。これにより、「Query is canceled」というエラーメッセージとともにクエリが失敗した原因として DDL 衝突が発生していたかを特定できます。

  • エラーメッセージ

    クエリが失敗した場合、エラーの詳細が表示されます。また、Query InsightHoloWeb 上で提供されるインテリジェント SQL 診断機能により、新しい障害原因および解決策が自動的に Error Message セクションに追加され、SQL エラーの解決を容易にします。一般的な SQL 文の失敗事例および解決策については、「Hologres SQL 文に関するよくある質問」をご参照ください。

テーブルメタデータ

テーブルメタデータは、テーブル統計情報を含む Hologres システムテーブル `hg_table_info` から取得されます。システムは毎朝 1 回、このデータを収集・報告します。データは T+1 で更新されるため、当日分のテーブルメタデータは翌日に照会可能です。

クエリメタデータ内のテーブル情報をクリックすることで、対応するテーブルメタデータを表示する「テーブルメタデータ」ページに移動できます。また、インスタンス名、データベース、スキーマ、メタデータ収集時間などのテーブル情報を手動で入力して、テーブルメタデータを表示することもできます。

  • 基本情報

    テーブル名を表示し、テーブルがパーティション化されているかを示します。また、パーティション関連の情報を提供します。

  • テーブルメタデータ情報

    テーブル作成時刻、メタデータ収集時刻、ストレージ容量を表示します。

  • テーブルプロパティ情報

    現在のテーブルに設定されたインデックス(例:プライマリキー(PK)、分散キー)を表示します。

  • テーブルスキーマ情報

    フィールド、フィールド型、NULL 許容性、デフォルト値を含むテーブルスキーマを表示します。

実行計画の可視化

実行計画の可視化機能は、スロークエリログの `plan` フィールドを表示します。なお、実行計画の情報は実行時間が 10 秒を超えるクエリのみ収集されます。実行計画の詳細については、「EXPLAIN および EXPLAIN ANALYZE」をご参照ください。

テーブルロック分析

テーブルロック分析は、現在の SQL 文が Hologres 実行エンジン(HQE)において DML(INSERT、UPDATE、DELETE)操作を生成しているかをチェックします。これにより、ロックによって引き起こされる SDK SQL 文の実行遅延問題の診断を支援します。テーブルに対して SDK または HQE のクエリと HQE の DML クエリが同時に実行されている場合、ロックが発生します。両方のタイプの操作を同時に実行しないようご注意ください。

クエリインサイトを用いた一般的な課題のトラブルシューティング

  • エラー:relation with OID xxx does not exist

    トラブルシューティング方法:このエラーは、クエリに関与するテーブルに対して TRUNCATE または DROP 操作が実行され、テーブルの OID が変更されたために発生することが多いです。クエリインサイトを用いてエラーを報告したクエリ ID を確認し、同時に DDL ロックが存在していたかを確認できます。image

  • エラー:query is canceled

    トラブルシューティング:このエラーは、クエリ実行中に TRUNCATE や DROP などの DDL 操作が関与するテーブルに対して実行されたために発生します。失敗したクエリのクエリ ID を Query Insight に入力してください。Query Metadata タブの DDL Conflict Analysis エリアで、テーブルに対する DDL 操作を確認できます。image

  • SDK SQL 文の高レイテンシ

    SDK SQL 文で高レイテンシが発生した場合は、クエリインサイトを用いてロック競合を確認します。たとえば、実行時間が 18 秒の文がある場合、Information of Table for Data Read and Write エリアの [ロック分析] をクリックします。image 同時に HQE による DML 文が実行されています。HQE を用いて実行された DML 文はテーブルロックを獲得します。その結果、クエリ内の SDK SQL 文はロックの解放を待機し、実行時間が延長されます。HQE による DML 文が検出されない場合は、テーブルロックが獲得されていないことを意味します。この場合、「書き込みおよび更新パフォーマンスの最適化」を参照して、原因をさらに調査してください。