跳到主要内容
跳到主要内容

性能与优化

本节提供有关提升 ClickHouse 性能的建议和最佳实践。 建议读者在阅读本节之前先查阅核心概念, 其中介绍了改进性能所需掌握的主要概念。

主题描述
Query optimization guide从这里开始学习查询优化基础知识,涵盖常见场景和性能优化技术,以提升查询执行速度。
Primary indexes advanced guide深入了解 ClickHouse 独特的稀疏主索引系统、它与传统数据库的差异,以及实现最优索引策略的最佳实践。
Query parallelism学习 ClickHouse 如何通过处理通道和 max_threads 设置并行化查询执行,包括如何检查和优化并行执行。
Partitioning key掌握分区键选择,通过实现高效的数据分段裁剪并避免常见分区陷阱,从而显著提升查询性能。
Data skipping indexes有策略地应用二级索引以跳过无关数据块,加速对非主键列的过滤查询。
PREWHERE optimization理解 PREWHERE 如何通过在读取非必要列之前先过滤数据来自动减少 I/O,并了解如何监控其效果。
Bulk inserts通过有效地批量插入数据,最大化摄取吞吐量并减少资源开销。
Asynchronous inserts利用服务器端批处理提升插入性能,降低客户端复杂度,并提高高频插入场景下的吞吐量。
Avoid mutations设计仅追加(append-only)工作流,在保持数据准确性和性能的同时,消除代价高昂的 UPDATEDELETE 操作。
Avoid nullable columns尽量使用默认值而不是可空列,以减少存储开销并提升查询性能。
Avoid OPTIMIZE FINAL理解在什么情况下应该以及不应该使用 OPTIMIZE TABLE FINAL
Analyzer利用 ClickHouse 全新的查询分析器定位性能瓶颈,并优化查询执行计划以提升效率。
Query profiling使用采样查询分析器来分析查询执行模式,识别性能热点并优化资源使用。
Query cache启用并配置 ClickHouse 内置的查询结果缓存,加速高频执行的 SELECT 查询。
Testing hardware在任意服务器上无需安装即可运行 ClickHouse 性能基准测试,以评估硬件能力。(不适用于 ClickHouse Cloud)