ClickHouse Cheat Codes
ClickHouse Cheat Codes for MergeTree engines, columnar OLAP queries, arrayJoin, and materializations. 20 essential cheat codes ready to copy and execute.
Query columnar data at high execution speed.
SELECT col1, col2 FROM tbl; SELECT user_id, event_type FROM user_events; Filter rows matching partition pruning.
SELECT * FROM tbl WHERE col = val; SELECT * FROM logs WHERE status = 500; Aggregate billions of rows in memory.
SELECT col, COUNT(*) FROM tbl GROUP BY col; SELECT domainWithoutWWW(url), COUNT(*) FROM web_clicks GROUP BY 1; Default MergeTree table engine DDL declaration.
CREATE TABLE tbl (...) ENGINE = MergeTree() ORDER BY (col); CREATE TABLE logs (dt Date, user_id UInt64) ENGINE = MergeTree() ORDER BY (dt, user_id); Partition MergeTree table parts by month or date.
CREATE TABLE tbl (...) ENGINE = MergeTree() PARTITION BY toYYYYMM(dt) ORDER BY (col); CREATE TABLE sales (dt Date, amt Float64) ENGINE = MergeTree() PARTITION BY toYYYYMM(dt) ORDER BY dt; Background deduplicating table engine.
CREATE TABLE tbl (...) ENGINE = ReplacingMergeTree(ver) ORDER BY (id); CREATE TABLE profiles (id UInt64, email String, updated DateTime) ENGINE = ReplacingMergeTree(updated) ORDER BY id; Automatically sum numeric columns on background merge.
CREATE TABLE tbl (...) ENGINE = SummingMergeTree() ORDER BY (id); CREATE TABLE daily_totals (date Date, category String, amount Float64) ENGINE = SummingMergeTree() ORDER BY (date, category); Continuous streaming aggregation materialized view.
CREATE MATERIALIZED VIEW mv ENGINE = SummingMergeTree() ORDER BY (col) AS SELECT ...; CREATE MATERIALIZED VIEW mv_sales ENGINE = SummingMergeTree() ORDER BY (date) AS SELECT dt AS date, SUM(amt) FROM sales GROUP BY date; Unpack array elements into individual output rows.
SELECT col, arrayJoin(arr_col) FROM tbl; SELECT user_id, arrayJoin(tags) FROM user_profiles; Compute exact 95th/99th percentile query latency.
SELECT quantileExact(0.95)(latency) FROM tbl; SELECT service, quantileExact(0.95)(duration_ms) FROM logs GROUP BY service; Parse clean domain from URL string.
SELECT domainWithoutWWW(url_col) FROM tbl; SELECT domainWithoutWWW(referrer) FROM web_clicks; Fetch column value matching maximum timestamp.
SELECT argMax(val, timestamp) FROM tbl GROUP BY grp; SELECT user_id, argMax(status, updated_at) FROM status_logs GROUP BY user_id; Inspect physical MergeTree part file sizes.
SELECT table, sum(bytes), sum(rows) FROM system.parts GROUP BY table; SELECT table, formatReadableSize(sum(bytes)) FROM system.parts WHERE active = 1 GROUP BY table; Force immediate background partition merge.
OPTIMIZE TABLE tbl FINAL; OPTIMIZE TABLE user_profiles FINAL; Output query results as formatted JSON text.
SELECT * FROM tbl FORMAT JSON; SELECT * FROM user_events LIMIT 5 FORMAT JSON; View ClickHouse query execution plan.
EXPLAIN SELECT * FROM tbl WHERE col = val; EXPLAIN SELECT COUNT(*) FROM user_events WHERE event_date = '2026-01-01'; Convert date to numeric YYYYMM integer for partitioning.
SELECT toYYYYMM(date_col); SELECT toYYYYMM(today()); Perform high-speed external dictionary lookup.
SELECT dictGetString('dict_name', 'attr', key_col); SELECT user_id, dictGetString('users_dict', 'email', user_id) FROM clicks; Bulk insert aggregated data into target MergeTree table.
INSERT INTO target_tbl SELECT * FROM src_tbl; INSERT INTO archive_events SELECT * FROM user_events WHERE event_date < '2025-01-01'; Asynchronously delete rows matching condition.
ALTER TABLE tbl DELETE WHERE condition; ALTER TABLE user_events DELETE WHERE user_id = 999; No cheat codes found matching your search term.