削除変異
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設定によって定義されます。デフォルトでは非同期です。
関連情報