質問
進行中またはキュー内のミューテーション数を確認するにはどうすればよいですか?
回答
テーブルに対して ALTER や UPDATE のステートメントを多数実行している場合、実行中またはキューに入っている ミューテーション の数を監視することは重要です。これらのクエリはデータパーツを書き換えるもので、アトミックではありません。ミューテーション は作成されたパーツの順に並べられ、その順序で各パーツに適用されます。ミューテーション の詳細はドキュメントを参照してください。
各 ミューテーション は system.mutations テーブルに 1 つのエントリを生成します。多数の ミューテーション を実行する場合は、次の方法で実行中およびキューに入っている ミューテーション の数を監視できます。
SELECT
hostname() AS host,
count()
FROM clusterAllReplicas('default', 'system.mutations') WHERE not is_done
GROUP BY host;あわせて、updates と deletes に関する最近のブログ記事もご覧ください。