hive 查询中 where 条件的顺序是否会影响查询性能?

Does the order of where conditions in hive queries has impact on the query performance?

我遇到的问题是我的配置单元 SQL 查询有时会导致完整的 table 扫描并持续很长时间。因此我想知道 where 语句的顺序是否真的对查询性能有影响。

例如查询具有基于日期构建的主键和区分对象的辅助键。我只想分析昨天的数据,这应该比完整 table 扫描快得多。

查询 1:

SELECT 
    primarykey, 
    COALESCE(SUM(param1),0L), 
    COALESCE(SUM(param2),0L), 
    param3 
FROM 
    Table 
WHERE
    param1 = "abc" AND
    param2 > 0 AND
    primarykey = yesterdaysdate
GROUP BY 
    param3;

查询 2:

SELECT 
    primarykey, 
    COALESCE(SUM(param1),0L), 
    COALESCE(SUM(param2),0L), 
    param3 
FROM 
    Table 
WHERE
    primarykey = yesterdaysdate AND
    param1 = "abc" AND
    param2 > 0
GROUP BY 
    param3;

查询 2 是否可能比查询 1 快?

在我看来,这应该不会对查询优化器产生任何影响。

配置单元查询在内部作为 MR 作业执行。查询的 where 子句应被视为过滤条件。所以它应该不会对性能有任何影响。