WHERE子句中分区列的顺序是否重要

2020年11月30日 59点热度 0条评论 来源: Dhiraj

如果我们有一个由col,col2,col3分区的HIVE表,那么在对此表执行SELECT时,如果我想在WHERE子句中指定这些列,是否必须显示按照相同的顺序来利用分区?我的意思是,逻辑上是,但HIVE编译器不理解他们的实际顺序,不管我指定他们的顺序如何。它应该能够在内部应用正确的顺序,因为HIVE已经知道正确的顺序是col2,col2,col3它以这种方式使用它。 HIVE在我们定义的查询上做了很多优化,所以在这个我猜它应该做同样的事情。WHERE子句中分区列的顺序是否重要

===========解决方案如下:

不,那个顺序应该没有关系。任何体面的查询优化器都会查看WHERE子句的所有部分,并找出满足该查询的最有效方法。使用分区列的逻辑顺序编写查询仍然有意义,以便更好地理解人。

    原文作者:Dhiraj
    原文地址: https://stackoverflow.com/q/38199910
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。