メインコンテンツまでスキップ
メインコンテンツまでスキップ

削除の概要

ClickHouseでデータを削除する方法はいくつかあり、それぞれ異なる利点とパフォーマンス特性があります。データモデルや削除するデータの量に基づいて、適切な方法を選択する必要があります。

方法構文使用するタイミング
軽量削除DELETE FROM [table]小量のデータを削除する場合に使用します。行はすぐにすべての後続の SELECT クエリからフィルターアウトされますが、最初は内部的に削除されたとマークされるだけで、ディスクからは削除されません。
削除ミューテーションALTER TABLE [table] DELETEディスクからデータを即座に削除する必要がある場合に使用します(例:コンプライアンスのため)。SELECT のパフォーマンスに悪影響を及ぼします。
テーブルのトランケートTRUNCATE TABLE [db.table]テーブルからすべてのデータを効率的に削除します。
パーティションの削除DROP PARTITIONパーティションからすべてのデータを効率的に削除します。

ClickHouseでデータを削除する異なる方法の概要は以下の通りです。

軽量削除

軽量削除は、行をすぐに削除済みとしてマークし、すべての後続の SELECT クエリから自動的にフィルターアウトできるようにします。削除された行のその後の削除は自然なマージサイクル中に発生し、I/Oが少なくて済みます。そのため、未指定の期間、データが実際にはストレージから削除されず、削除されたとしてマークされているだけである可能性があります。データを削除したことを保証する必要がある場合は、上記のミューテーションコマンドを考慮してください。