メインコンテンツへスキップ

トラブルシューティングに役立つクエリ

順不同で、ClickHouse のトラブルシューティングや、何が起きているのかを把握するのに便利なクエリをいくつか紹介します。 また、ClickHouse の監視に役立つ重要なクエリを紹介した優れたブログ記事もあります。

デフォルトから変更された設定を確認する

すべてのテーブルのサイズを確認する

レスポンスは次のようになります。

テーブルの行数と1日あたりの平均サイズ

カラムごとの圧縮率とメモリ上のプライマリインデックスのサイズ

データがカラムごとにどの程度圧縮されているかを確認できます。このクエリでは、メモリ上のプライマリインデックスのサイズも確認できます。プライマリインデックスはメモリに収まる必要があるため、把握しておくと役立ちます。

直近10分間にクライアントから送信されたクエリ数

toIntervalMinute(10) 関数では、時間間隔を増減できます。

各パーティション内のパーツ数

長時間実行されているクエリを見つける

これにより、処理が停滞しているクエリを特定しやすくなります。
実行時間が最も長いクエリのクエリ ID を使うと、デバッグ時に役立つスタックトレースを取得できます。

最新のエラーを確認

レスポンスは以下のようになります。

CPUとメモリの使用量が最も多い上位10件のクエリ

1つのクエリが、異なる query_id 値を持つ複数の行として記録されることがあります。分散セカンダリクエリおよび内部ビューのステップでは is_initial_query = 0 になります。送信されたとおりのクエリを確認するには、is_initial_query = 1 (または query_id = initial_query_id) でフィルタしてください。また、ClickHouse が割り当てる内部 query_id 値には、queryView... のようなラベルが含まれる場合がある点にも注意してください。詳細は query_log リファレンス を参照してください。

プロジェクションが使用しているディスク容量

データベース全体のディスク使用量、system.parts 内のパーツ数・行数・マーク数を表示

最近書き込まれた新しいパーツの詳細を一覧表示する

詳細には、作成時刻、サイズ、行数などが含まれます。

クラスター全体の監視クエリ

以下のクエリは、ClickHouse クラスターの監視に便利です。clusterAllReplicas() を使用して、すべてのノードにまたがるデータを集約します。
これらのクエリは、クラスター名が default であることを前提としています。クラスター名が異なる場合は、'default'default を実際のクラスター名に置き換えてください。

1分間および1秒間に作成された新規パーツの平均 (直近1時間)

'your_table' は、監視する実際のテーブル名に置き換えてください。

CPU とメモリの使用量が多いクエリ (クラスター全体)

進行中のマージと予想完了時間

このクエリは、クラスター上で現在実行中のマージと、その完了までの推定時間を表示します:

正規化ハッシュ別の代表的なクエリ

最も頻繁に実行されているクエリを見つけます (最適化すべきクエリの特定に役立ちます) :

イベントタイプと日付別のエラー数

クラスター全体のパーツ作成エラーを分析します:

ノードごとのテーブル数

クラスター内のノード間でのテーブル分布を確認します。

非同期 INSERT 操作を確認する

非同期 INSERT の動作状況を監視します:

パーツとマージの分析

テーブルごとの現在のアクティブなパーツ

クラスター全体で、各テーブルのアクティブなパーツ数を確認します。

パーツ数が多すぎるパーティション

パーツ数が多すぎる可能性のあるパーティションを特定します (クエリのパフォーマンスに影響する可能性があります) :

デタッチされたパーツ

調査が必要な可能性のあるデタッチされたパーツがないか確認します。

システム情報に関するクエリ

ノード別のクラスター全体のメモリ使用量

各ノードのメモリ使用量を監視します:

クラスターでクエリを実行する

現在実行中のクエリを確認します:

デフォルトから変更された設定

デフォルトから変更されている設定を確認します。

レプリケーションキューの状態

レプリケートテーブルの場合は、レプリケーションキューを確認します。
最終更新日 2026年7月2日