首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Impala hint加速SQL查询

此时,我们就可以使用hint来改变SQL的join方式,impala的hint使用非常简单,如下所示: SELECT STRAIGHT_JOIN select_list FROM join_left_hand_table...的相应部分加入了STRAIGHT_JOIN和[shuffle]之后,SQL的执行计划就发生了改变。...请注意,有两个地方需要加上hint关键字,select后面加上STRAIGHT_JOIN;join后面加上[shuffle]或者/* +shuffle */。...外层的hint对于内层的join子语句是不起作用的。如果select后面跟distinct之类的关键字,STRAIGHT_JOIN需要跟在关键字后面。...除了可以改变join的方式之外,impala hint还支持一些其他的功能,这里就不再过多描述,感兴趣的同学可以参考官方文档:https://www.cloudera.com/documentation

1.6K20

【SQL执行计划】优化器相关Hint

ALL_ROWS 说明: ALL_ROWS是针对整个目标SQL的Hint,它的含义是让优化器启用CBO,而且在得到目标SQL的执行计划时会选择那些吞吐量最佳的执行路径。...如果在目标SQL中除了ALL_ROWS之外还使用了其他与执行路径、表连接相关的Hint,则优化器会优先考虑ALL_ROWS。...RULE 说明:RULE是针对整个SQL的Hint,它表示对目标SQL启用RBO。...忽略情况:因为很多执行路径RBO根本就不支持,所以即使在目标SQL中使用了RULE Hint,如果出现了如下情况(包括但不限于),RULE Hint依然会被Oracle忽略。...目标SQL除RULE之外还联合使用了其他Hint(比如DRIVING_SITE)。 目标SQL使用了并行执行。 目标SQL所涉及的对象有IOT。 目标SQL所涉及的对象有分区表。

1K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    使用hint来调优sql语句(72天)

    最近生产发现有一个sql语句运行耗时达5000多秒。 抓出来sql_id一看,sql倒不是一个很长的语句。结构也很简单。如下。...而且对应的主键在查询条件中也没有,这也是这个sql执行慢的主要原因。 表 REFUND_REQUEST 是一个应用表,里面的数据就几百条。 明白了大概的情况之后。 首先从视图下手。...但是sql语句还是会不断的去做无用功。查了半天,结果返回了一个Null。 找到了基本的方向,如果查询条件中没有匹配的值,至少可以不用再从3亿多条记录的表里去全表扫描了。...SQL> select distinct a.DATA_FIELD_10 l9_company_code from DETAILED_DATA...=1 但是已加入条件financial_activity就开始扫描大表,看来只能使用Hint来强制指定表的访问顺序了。当然了使用hint也是玩不得以而为之。不建议一开始调就考虑hint.

    61460
    领券