当我在SQL查询中使用变量时,优化器会生成一个错误的执行计划。但是如果我用它的值来替换一个变量,那么这个计划就可以了。select count(*) from <some tables> and id = 100
用300毫秒执行在第一种情况下,优化器为v_param的任何值生成一个固定计划。在第二种情况下,优化器根据指定的值生成一个计划,尽管没有使用计划缓存,但是它的效率</e
colN from MyTable;SELECT * FROM MyView WHERE col="abc";
那么Hive会在视图中推入过滤器(col="abc")来执行如果我可以使用“下推优化”这个词的话,基本上就是想知道Hive是否会在这里做“下推优化”。因为否则它的效率将非常低,因为View在整个表上,并且在查询整个表之后,在视图之外将应用过滤器。