削除ミューテーション
Delete mutations refers to ALTER
クエリのことを指し、テーブルデータを削除を通じて操作します。特に、ALTER TABLE DELETE
などのクエリがこれに該当します。このようなクエリを実行すると、データパーツの新しい変異バージョンが生成されます。これは、これらのステートメントが変異の前に挿入されたすべてのデータのために、全データパーツの再書き込みをトリガーすることを意味し、大量の書き込みリクエストにつながります。
削除の場合、デフォルトの MergeTree テーブルエンジンの代わりに、ReplacingMergeTree や CollapsingMergeTree のような特殊なテーブルエンジンを使用することで、これらの大量の書き込みリクエストを回避できます。
ALTER TABLE ... DELETE 文
指定されたフィルタリング式に一致するデータを削除します。ミューテーションとして実装されています。
ALTER TABLE
プレフィックスは、SQLをサポートする他のシステムとは異なるこの構文を作ります。これは、OLTPデータベースの類似のクエリとは異なり、頻繁に使用することを目的としない重い操作であることを示すために設計されています。 ALTER TABLE
は、削除される前に基礎となるデータをマージする必要があるため、重い操作と見なされます。MergeTree テーブルの場合、軽量削除を実行し、かなり速くなる可能性のある DELETE FROM
クエリ の使用を検討してください。
filter_expr
は UInt8
型でなければなりません。この式が非ゼロ値を取るテーブル内の行を削除します。
1つのクエリには、カンマで区切られた複数のコマンドを含めることができます。
クエリ処理の同期性は、mutations_sync 設定によって定義されます。デフォルトでは非同期です。
関連情報