title_wip

[Edit this page](https://github.com/ClickHouse/clickhouse-docs/blob/main/docs/cloud/guides/best_practices/index.md)

This section provides best practices you will want to follow to get the most out of ClickHouse Cloud.

|  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- |
| Page Description|  |  |  |  | | --- | --- | --- | --- | | [Usage Limits](/docs/cloud/bestpractices/usage-limits) Explore the limits of ClickHouse.|  |  | | --- | --- | | [Multi tenancy](/docs/cloud/bestpractices/multi-tenancy) Learn about different strategies to implement multi-tenancy. | | | | | |

These are in addition to the standard best practices which apply to all deployments of ClickHouse.

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Page Description|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | [Choosing a Primary Key](/docs/best-practices/choosing-a-primary-key) How to select primary keys that maximize query performance and minimize storage overhead.|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | [Select Data Types](/docs/best-practices/select-data-types) Choose optimal data types to reduce memory usage, improve compression, and accelerate queries.|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | [Use Materialized Views](/docs/best-practices/use-materialized-views) Leverage materialized views to pre-aggregate data and dramatically speed up analytical queries.|  |  |  |  |  |  |  |  |  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | [Minimize and Optimize JOINs](/docs/best-practices/minimize-optimize-joins) Best practices for using ClickHouse's `JOIN` capabilities efficiently.| [Choosing a Partitioning Key](/docs/best-practices/choosing-a-partitioning-key) Select partitioning strategies that enable efficient data pruning and faster query execution.|  |  |  |  |  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | [Selecting an Insert Strategy](/docs/best-practices/selecting-an-insert-strategy) Optimize data ingestion throughput and reduce resource consumption with proper insert patterns.|  |  |  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | --- | --- | | [Data Skipping Indices](/docs/best-practices/use-data-skipping-indices-where-appropriate) Apply secondary indices strategically to skip irrelevant data blocks and accelerate filtered queries.|  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | | [Avoid Mutations](/docs/best-practices/avoid-mutations) Design schemas and workflows that eliminate costly `UPDATE`/`DELETE` operations for better performance.| [Avoid OPTIMIZE FINAL](/docs/best-practices/avoid-optimize-final) Prevent performance bottlenecks by understanding when `OPTIMIZE FINAL` hurts more than it helps.| [Use JSON where appropriate](/docs/best-practices/use-json-where-appropriate) Balance flexibility and performance when working with semi-structured JSON data in ClickHouse. | | | | | | | | | | | | | | | | | | | | | |

Was this page helpful?