# How we built fast UPDATEs for the ClickHouse column store - Part 2: SQL-style UPDATEs

DevFeed: [How we built fast UPDATEs for the ClickHouse column store - Part 2: SQL-style UPDATEs](<https://devfeed.tech/articles/how-we-built-fast-updates-for-the-clickhouse-column-store-part-2-sql-style-updates-5620.md>)

Original publisher: [Read original article](<https://clickhouse.com/blog/updates-in-clickhouse-2-sql-style-updates>)

Author: Tom Schreiber

Published: 2025-07-24T00:00:00Z

Content type: article

Language: en

Sources: [ClickHouse Blog](<https://devfeed.tech/sources/clickhouse-blog.md>)

Topics: [clickhouse](<https://devfeed.tech/topics/clickhouse.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [data](<https://devfeed.tech/topics/data.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [systems](<https://devfeed.tech/topics/systems.md>)

Tags: [analytics](<https://devfeed.tech/tags/analytics.md>), [architectures](<https://devfeed.tech/tags/architectures.md>), [benchmarks](<https://devfeed.tech/tags/benchmarks.md>), [clickhouse](<https://devfeed.tech/tags/clickhouse.md>), [data](<https://devfeed.tech/tags/data.md>), [performance](<https://devfeed.tech/tags/performance.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [scale](<https://devfeed.tech/tags/scale.md>), [speed](<https://devfeed.tech/tags/speed.md>), [sql](<https://devfeed.tech/tags/sql.md>), [systems](<https://devfeed.tech/tags/systems.md>), [update](<https://devfeed.tech/tags/update.md>), [updates](<https://devfeed.tech/tags/updates.md>)

## AI overview

This article explains how ClickHouse implemented fast, declarative SQL-style UPDATEs for its column store. It describes the progression from heavyweight mutations to on-the-fly updates and patch parts, a columnar-native mechanism designed for minimal I/O, immediate query visibility, and high parallelism. It also references benchmarks showing speedups of up to 1,000x and comparisons with PostgreSQL.

## Source excerpt

ClickHouse can do fast, declarative UPDATEs. Patch parts make it possible, with minimal I/O, instant query visibility, and high parallelism. This post breaks down the mechanics that make it all work.