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

Hologres:HG_STATS_MISSING ビュー

最終更新日:May 26, 2026

HOLOGRES_STATISTIC.HG_STATS_MISSING ビューには、現在のデータベース内で統計情報が欠落しているテーブルが一覧表示されます。

このビューを使用して、次のことができます:

  • 統計情報が欠落しているテーブルを確認できます。統計情報が欠落していると、オプティマイザが不適切な実行計画を生成する可能性があります。たとえば、誤った結合順序により大規模テーブルのシャッフルが発生し、クエリの低速化やメモリ不足 (OOM) エラーにつながることがあります。

  • Hologres モニタリングの [Stats Miss Table Num by DB] メトリックに対応する具体的なテーブルを確認できます。

  • 統計情報が欠落しているテーブルに対して、手動で ANALYZE を実行するなど、必要なガバナンス操作を選択して実行できます。

制限

  • Hologres インスタンスは V2.2.15 以降である必要があります。

  • クエリは、実行ユーザーが SCHEMA USAGE 以上の権限を持つスキーマ内のテーブルのみを返します。

  • Hologres 内部テーブル、パーティションテーブル、外部テーブル、マテリアライズドビュー以外のテーブルタイプは表示されません (また、メトリックからも除外されます)。

フィールド

次の表に、HOLOGRES_STATISTIC.HG_STATS_MISSING ビューのフィールドを示します。

フィールド

データ型

説明

schemaname

TEXT

スキーマ名。

tablename

TEXT

テーブル名。

nattrs

INTEGER

列数。

tablekind

TEXT

テーブルタイプ (例:table、foreign_table)。

fdwname

TEXT

外部データラッパー (FDW) 名。外部テーブルの場合にのみ設定されます。

autovacuum_enabled

TEXT

テーブルで自動 ANALYZE が有効かどうかを示します。

説明

V3.1 でのみ使用できます。

reason

TEXT

統計情報が欠落している理由。このフィールドを基に、次の対応を判断します。

説明

V3.1 でのみ使用できます。

reason:欠落理由の分類

理由

カテゴリ

説明

推奨アクション

column "<column_name>" missing

列統計情報の欠落

指定した列の統計情報 (最頻値 (MCV) やヒストグラムなど) が収集されていません。

テーブルに対して ANALYZE ステートメントを実行するか、自動 ANALYZE によって統計情報が収集されるまで待機します。

column "<column_name>" missing hll

列統計情報の欠落

指定した列の HyperLogLog (HLL) カウンターが欠落しています。HLL はパーティション子テーブルの個別値の数 (NDV) を推定するために使用され、パーティションテーブルの統計情報マージにおいて重要な役割を果たします。

テーブルに対して ANALYZE ステートメントを実行します。システムが自動的に HLL カウンターを生成します。もしくは、自動 ANALYZE によって統計情報が収集されるまで待機します。

unable to merge parts

論理パーティションテーブル統計のマージ不可

論理パーティションテーブルに、統計情報をマージできない子パーティションが存在します。これは、一部の子パーティションで統計情報が欠落している、または互換性がないことが原因の可能性があります。

パーティションテーブルとすべての子パーティションに対して ANALYZE ステートメントを実行するか、自動 ANALYZE によって統計情報が収集されるまで待機します。

autovacuum disabled

自動収集が明示的に無効

テーブルの自動 ANALYZE が手動で無効にされているため、統計情報が自動的に収集されません。

統計情報の自動メンテナンスを再度有効にするには、テーブルレベルの自動 ANALYZE を有効にします: ALTER TABLE <table_name> SET (autovacuum_enabled = true);

column "<column_name>" stats type mismatch: MCV/HISTOGRAM

型不一致

指定した列に存在する最頻値 (MCV) またはヒストグラムの統計情報のデータ型が、列の現在のデータ型と一致していません。これは通常、列の型を変更した後に発生します。

テーブルに対して ANALYZE ステートメントを再実行して統計情報を更新するか、自動 ANALYZE によって統計情報が収集されるまで待機します。

relation vanished

テーブルレベルの例外

統計情報のチェック中に、テーブルが削除された、またはアクセスできなくなりました。

対応は不要です。テーブルは既に存在しないため、以降のクエリでは自動的に無視されます。

インスタンスリストでインスタンス ID をクリックし、インスタンスの詳細ページに移動します。 グループ名 をクリックし、 Binlog and Analyze を選択して、 Stats Miss Table Num by DB を確認します。

ここでは、いずれかのデータベースを例に、現在のデータベースで統計情報が欠落しているテーブルを確認します。

image
SELECT * FROM hologres_statistic.hg_stats_missing;

出力例:

    schemaname             |            tablename             | nattrs |   tablekind   | fdwname  | autovacuum_enabled |            reason
------------------------------------+----------------------------------+--------+---------------+----------+--------------------+------------------------------
 hologres_foreign_dataset_tpch_100g | odps_customer_100g               |      8 | foreign table | odps_fdw | t                  | column "c_custkey" missing
 hologres_foreign_dataset_tpch_100g | odps_nation_100g                 |      4 | foreign table | odps_fdw | t                  | column "n_nationkey" missing
 hologres_foreign_dataset_tpch_100g | odps_orders_100g                 |      9 | foreign table | odps_fdw | t                  | column "o_orderkey" missing
 hologres_foreign_dataset_tpch_100g | odps_part_100g                   |      9 | foreign table | odps_fdw | t                  | column "p_partkey" missing
 hologres_foreign_dataset_tpch_100g | odps_lineitem_100g               |     16 | foreign table | odps_fdw | t                  | column "l_orderkey" missing
 public                             | spatialxxxxx                     |      5 | table         |          | t                  |
 public                             | smtxxx                           |      4 | foreign table | oss_fdw  | t                  |
 public                             | smtxxxxx                         |      4 | foreign table | oss_fdw  | t                  | 

その後、統計情報が欠落しているテーブルに対して手動で ANALYZE を実行できます。

ANALYZE spatialxxxxx;

モニタリングページに戻ります。 Stats Miss Table Num by DB メトリックが減少します。

よくある質問

Q: HG_STATS_MISSING が返す行数が、モニタリングメトリックに表示されるカウントを上回るのはなぜですか。

2 つのカウントでは判定基準が異なります。

統計情報の欠落には、次の 2 種類があります:

  1. 行数と列統計情報の両方が完全に欠落しているケース。

  2. 行数は存在し、クエリの実行計画で基本的な見積もりに使用できますが、詳細な列統計情報が欠落しているケース (見積もり精度にのみ影響します)。

(2) のカウントは (1) のカウント以上になります。

前述のとおり、HG_STATS_MISSING が返す行数には列統計情報が欠落しているケースが含まれ、これは (2) のカウントに相当します。

Stats Miss Table Num by DB モニタリングメトリックでは、統計情報が完全に欠落しているテーブルのみが表示され、これは (1) のカウントに相当します。

そのため、HG_STATS_MISSING が返す行数は Stats Miss Table Num by DB メトリックの値以上になります。