〇、相关地址


第1章 Explain查看执行计划

1.1 基本语法

1.2 案例实操

1.2.1 新版本使用 EXPLAIN

1.2.2 老版本查看执行计划

第2章 建表优化

2.1 数据类型

2.1.1 时间字段的类型

2.1.2 空值存储类型

2.2 分区和索引

2.3 表参数

2.4 写入和删除优化

2.5 常见配置

2.5.1 CPU资源

2.5.2 内存资源

2.5.3 存储

第3章 ClickHouse 语法优化规则

3.1 准备测试用表

3.2 COUNT 优化

3.3 消除子查询重复字段

3.4 谓词下推

3.5 聚合计算外推

3.6 聚合函数消除

3.7 删除重复的 order by key

3.8 删除重复的 limit by key

3.9 删除重复的 USING Key

3.10 标量替换

3.11 三元运算优化

第4章 查询优化

4.1 单表查询

4.1.1 Prewhere替代where

4.1.2 数据采样

4.1.3 列裁剪与分区裁剪

4.1.4 orderby 结合 where、limit

4.1.5 避免构建虚拟列

4.1.6 uniqCombined替代distinct

4.1.7 使用物化视图

4.1.8 其他注意事项

4.2 多表关联

4.2.1 准备表和数据

4.2.2 用 IN 代替 JOIN

4.2.3 大小表JOIN

4.2.4 注意谓词下推(版本差异)

4.2.5 分布式表使用GLOBAL

4.2.6 使用字典表

4.2.7 提前过滤

第5章 数据一致性(重点)

5.1 准备测试表和数据

5.2 手动 OPTIMIZE

5.3 通过 Group by 去重

5.4 通过 FINAL 查询

5.4.1 老版本测试

5.4.2 新版本测试

第6章 物化视图

6.1 概述

6.1.1 物化视图与普通视图的区别

6.1.2 优缺点

6.1.3 基本语法

6.2 案例实操

6.2.1 准备测试用表和数据

6.2.2 创建物化视图

6.3.3 导入增量数据

6.3.4 导入历史数据

第7章 MaterializeMySQL引擎

7.1 概述

7.1.1 特点

7.1.2 使用细则

7.2 案例实操

7.2.1 MySQL开启binlog和GTID模式

7.2.2 准备MySQL表和数据

7.2.3 开启ClickHouse物化引擎

7.2.4 创建复制管道

7.2.5 修改数据

7.2.6 删除数据

7.2.7 删除表

第8章 常见问题排查

8.1 分布式DDL某数据节点的副本不执行

8.2 数据副本表和数据不一致

8.3 副本节点全量恢复

8.4 数据副本启动缺少zk表

8.5 ZK table replicas数据未删除,导致重建表报错

8.6 Clickhouse节点意外关闭

8.7 其他问题参考