查询计划

提交查询时,查询优化器序会迅速选择要使用的投影,优化并计划查询执行,以及将 SQL 语句记录到其日志中。此计划会产生一个用来映射出查询所执行步骤的查询计划

查询计划是一系列类似步骤的 路径,Vertica 基于成本的查询优化器使用这些路径执行查询。Vertica 可以为给定查询生成不同的查询计划。对于每个查询计划,查询优化器都评估要查询的数据:行数、列统计,如不同值的数量(基数)、数据在各个节点上的分布。它还评估可用资源,如 CPU 和网络拓扑以及其他环境因素。查询优化器使用此信息制定多个潜在计划。然后它比较各个计划并选择一个,该计划通常为具有最低成本的计划。

优化器将查询计划细分为更小的本地计划并将它们分发到 执行程序节点

在查询计划的最后执行阶段,启动程序节点执行以下任务:

  • 通过分组操作将结果组合起来。

  • 将来自所有执行程序的多个已排序部分结果集合并起来。

  • 设置结果格式,以返回给客户端。

在执行查询之前,可以通过将查询嵌入到 EXPLAIN 语句中来查看其计划;也可以在管理控制台中查看它。