1 单表查询
1.1 Prewhere替代where
Prewhere和where语句的作用相同,用来过滤数据。不同之处在于prewhere只支持 *MergeTree 族系列引擎的表,首先会读取指定的列数据,来判断数据过滤,等待数据过滤之后再读取select 声明的列字段来补全其余属性。
本文介绍了ClickHouse SQL查询的优化方法,包括单表查询和多表关联的优化策略。单表查询中,推荐使用Prewhere替代where,数据采样,列裁剪与分区裁剪等;多表关联时,建议用IN代替JOIN,注意谓词下推和使用GLOBAL关键字。优化还包括使用物化视图,避免构建虚拟列,以及使用uniqCombined替代distinct等。
Prewhere和where语句的作用相同,用来过滤数据。不同之处在于prewhere只支持 *MergeTree 族系列引擎的表,首先会读取指定的列数据,来判断数据过滤,等待数据过滤之后再读取select 声明的列字段来补全其余属性。

被折叠的 条评论
为什么被折叠?