query-optimization
Installation
SKILL.md
Query Optimization
When to use this skill
Load when users ask about slow queries, optimization strategies, or query performance tuning.
PREWHERE Optimization
- PREWHERE filters rows before reading all columns (MergeTree only)
- ClickHouse auto-promotes simple WHERE conditions to PREWHERE
- Manually use PREWHERE for complex conditions on indexed columns
- Best when filtering on columns NOT in the SELECT list
JOIN Strategies
- Put smaller table on RIGHT side of JOIN
- Use
INsubquery for simple lookups instead of JOIN - Filter both sides before joining to reduce intermediate data
GLOBAL JOINfor distributed queries — broadcasts small table to all shardsJOIN ... USINGis cleaner thanONfor same-name columns- Consider
join_algorithmsetting: hash (default), partial_merge, auto
Related skills
More from duyet/clickhouse-monitoring
troubleshooting
Diagnose and resolve common ClickHouse issues: OOM, slow merges, replication lag, disk full, stuck mutations, and query failures.
2replication-guide
ReplicatedMergeTree operations, failover procedures, lag diagnosis, quorum writes, and Keeper management.
2storage-optimization
Compression codecs, TTL policies, tiered storage, part management, and disk space optimization.
2security-hardening
RBAC configuration, row policies, quotas, network security, audit logging, and access control best practices.
2migration-patterns
Schema migrations, ALTER patterns, engine changes, data backfill, and zero-downtime migration strategies.
2cluster-operations
Distributed table management, resharding, node addition/removal, and cluster topology operations.
2