【源码学习】对于分布表的查询,查询语句的下发是在哪个阶段发生的?

发布于 6 个月前 作者 OYCN 813 次浏览 来自 问答

近期在阅读ClickHouse源码学习,以Select语句为背景,在阅读完Pipeline的构建后,从源码角度理解了一下线程的分配机制,在大致了解了状态更新和processor的执行入口后产生了以下的疑问。query是在哪个阶段下发到远端?是以什么格式下发的(是序列化的AST么)?

用于测试的语句,我使用的是:select id from test.distributed_table group by id 得到了如下的pipeline流程图: pipeline.png 图中的Remote环节对应的QueryPlan是*ReadFromPreparedSource环节,为此我很迷惑query是在哪下发的。

新人刚接触ClickHouse,源码读起来比较费力,一路参考前人的博客学习,感谢大家的帮助。

1 回复

通过翻阅ReadFromPreparedSource环节的内容,了解到了下发是发生在其中的,是我自己研读不仔细了。

回到顶部