当CockroachDB节点接收到查询SQL时,大概会发生什么事情呢:pgwire模块负责与客户端应用通信,从客户端接收查询请求。将SQL文本分析并转换为抽象语法树(AbstractSyntaxTree,简称AST)。然后进一步分析并将其转换为逻辑查询计划,该计划是关系运算符的树,如过滤器,渲染(项目),连接。顺便说一下,逻辑计划树是由EXPLAIN语句报告的数据。然后将逻辑计划交给负责执行查询的back-end层,并生成要返回给客户端的结果数据。CockroachDB里有两种back-end:本地执行引擎和分布式执行引擎。本地执行引擎能够直接在客户端应用程序连接的节点上执行SQL语句。它主要
1