How to Delete Rows in ClickHouse
Last updated July 25, 2026 · By the SaturnSQL team
Since ClickHouse 23.3 you can use standard DELETE FROM ... WHERE (a lightweight delete): rows are masked immediately and physically removed during merges. ALTER TABLE ... DELETE is the older mutation form that rewrites parts. For old data, dropping a partition is far cheaper than either.
Lightweight delete (23.3+)
DELETE FROM events WHERE user_id = 101;Mutation delete
ALTER TABLE events DELETE WHERE event_time < '2025-01-01';Both forms are much heavier than a DELETE in an OLTP database. If your deletes follow time boundaries, partition by month and use DROP PARTITION, or let TTL expire rows automatically.
Run this in SaturnSQL
SaturnSQL is a browser-based SQL editor for teams: shared query library, schema-aware autocomplete, and scheduled exports to Google Sheets and Slack.
Try it free