← Files ClickHouseARCHIVED FILE
skills/clickhouse-best-practices/rules/schema-partition-start-without.md
1.2 KB · Oct 4, 2026 · 12:07 UTC
---
title: Consider Starting Without Partitioning
impact: MEDIUM
impactDescription: "Add partitioning later when you have clear lifecycle requirements"
tags: [schema, partitioning, simplicity]
---
## Consider Starting Without Partitioning
**Impact: MEDIUM**
Start without partitioning and add it later only if:
- You have clear data lifecycle requirements (retention, archiving)
- Your access patterns clearly benefit from partition pruning
- You understand the cardinality implications
**Example (start simple):**
```sql
-- Start simple, no partitioning
CREATE TABLE events (
timestamp DateTime,
event_type LowCardinality(String),
user_id UInt64
)
ENGINE = MergeTree()
ORDER BY (event_type, timestamp);
-- Add partitioning later if needed for lifecycle management
-- (requires table recreation or materialized view migration)
```
**When to add partitioning:**
| Need | Add Partitioning? |
|------|-------------------|
| Time-based data retention | Yes |
| Archive old data to cold storage | Yes |
| Query performance on time ranges | Maybe (test first) |
| No specific lifecycle needs | No |
Reference: [Choosing a Partitioning Key](https://clickhouse.com/docs/best-practices/choosing-a-partitioning-key)
SHA-256: d4163b8a4b4d96f0404f9dd6b65580a7f76bb99dcddca31e54d2bb4b5715e71c