程序员的故乡

 

2023年9月10日

ClickHouse的Join算法

摘要: 即使在ClickHouse中对超大的数据表做JOIN连接运算,我们也可以通过精心选择连接算法和调优相关设置,从而得到非常良好的性能。虽然可以让ClickHouse更加聪明地帮用户做选择,但是目前效果毕竟有限,而且真正高级的性能调优是离不开人的,因为人能掌握更全面的情况,以及实际业务特点和需求。本文可以帮助你理解ClickHouse内部连接的工作方式,从而帮助你做相关的优化。 阅读全文

posted @ 2023-09-10 21:59 程鑫 阅读(280) 评论(0) 推荐(0) 编辑

一种高效且节约内存的聚合数据结构的实现

摘要: 在特定的场景中,特殊定制数据结构能够得到更加好的性能且更节约内存。 阅读全文

posted @ 2023-09-10 21:56 程鑫 阅读(14) 评论(0) 推荐(0) 编辑

“过早优化是万恶之源”这句话的源头

摘要: 来自于一篇大神的论文,而且原意没有一句话那么简单。 Premature optimization is the root of all evil Programmers waste enormous amounts of time thinking about, or worrying about, 阅读全文

posted @ 2023-09-10 21:45 程鑫 阅读(10) 评论(0) 推荐(0) 编辑

ClickHouse的WITH-ALIAS是如何实现的

摘要: ClickHouse的WITH-ALIAS是如何实现的 WITH-ALIAS包含相似但不同的两个特性: WITH <表达式> as <别名> WITH <别名> as <子查询> WITH <表达式> as <别名> 特性 以下SQL展示了 WITH <表达式> as <别名> 特性的用法。 wit 阅读全文

posted @ 2023-09-10 21:41 程鑫 阅读(38) 评论(0) 推荐(0) 编辑

cmake简略介绍

摘要: 构建系统对于一个大型项目至关重要,本身就可以看成大项目中的一个子项目。cmake是C++生态环境中常用的构建工具。这里简单介绍一下cmake的用法。 阅读全文

posted @ 2023-09-10 21:29 程鑫 阅读(56) 评论(0) 推荐(0) 编辑

常用ClickHouse问题诊断查询

摘要: Clickhouse是一个性能强大的OLAP数据库,在实际使用中会遇到各种各样的问题,同时也有很多可以调优的地方。本文阐述如何对ClickHouse做问题诊断和性能分析。 阅读全文

posted @ 2023-09-10 21:21 程鑫 阅读(401) 评论(0) 推荐(0) 编辑

GIT高级使用技巧

摘要: 介绍一些高级的GIT使用技巧,对维护整体GIT仓库很有帮助 阅读全文

posted @ 2023-09-10 21:18 程鑫 阅读(19) 评论(0) 推荐(0) 编辑

对于同一个成员方法分别定义左值和右值的实现版本

摘要: 有时候需要对同一个成员方法定义不同的实现,比如如果当前`this`右值时,可以用一些移动语义来优化性能。这时候需要通过添加函数的限定符来为this为右值时定义专门的方法实现。 阅读全文

posted @ 2023-09-10 21:14 程鑫 阅读(18) 评论(0) 推荐(0) 编辑

MergeTree表的三种格式

摘要: MergeTree表引擎有三种格式:Compact、Wide和In-memory,前两个为主要格式。具体区别是: - Compact - 所有的列的数据放在一个文件; - Wide - 每个列的数据放在一个文件; - In-memory - 数据存在内存中,不在磁盘上。 阅读全文

posted @ 2023-09-10 21:11 程鑫 阅读(12) 评论(0) 推荐(0) 编辑

C++ concept的概念和使用

摘要: C++ concept的概念和使用 `concept` 这套语法优化了模板编程,替代了原来的SFINAE编程模式,通过给模板类参数加入限制条件,使得代码可读性更强、编译更快、错误提示更容易理解。 阅读全文

posted @ 2023-09-10 21:04 程鑫 阅读(213) 评论(0) 推荐(0) 编辑

导航