JOIN 查询

通常,可以通过以下几种方式优化联接多个表的查询的执行:

其他最佳实践

如果满足以下条件,Vertica 还会更高效地执行联接:

  • 查询构造使查询优化器能够创建计划,其中较大的表被定义为外部输入。

  • 等式谓词两边的列来自同一个表。例如,在以下查询中,等式谓词的左侧和右侧分别仅包含表 T 和 X 中的列:

    => SELECT * FROM T JOIN X ON T.a + T.b = X.x1 - X.x2;
    

    相反,以下查询需要处理更多工作,因为谓词的右侧包含表 T 和 X 中的列:

    => SELECT * FROM T JOIN X WHERE T.a = X.x1 + T.b