文档首页 > > 开发指南> 优化查询性能> 改进查询> 使用Plan Hint进行调优> Scan方式的Hint

Scan方式的Hint

分享
更新时间: 2019/11/12 GMT+08:00

功能描述

指明scan使用的方法,可以是tablescan、indexscan和indexonlyscan。

语法格式

[no] tablescan|indexscan|indexonlyscan(table [index])

参数说明

  • no表示hint的scan方式不使用。
  • table表示hint指定的表,只能指定一个表,如果表存在别名应优先使用别名进行hint。
  • index表示使用indexscan或indexonlyscan的hint时,指定的索引名称,当前只能指定一个。

对于indexscan或indexonlyscan,只有hint的索引属于hint的表时,才能使用该hint。

scan hint支持在行列存表、hdfs内外表、obs表、子查询表上指定。对于hdfs内表,由主表和delta表组成,delta表对用户不可见,故hint仅作用在主表上。

示例

为了hint使用索引扫描,需要首先在表item的i_item_sk列上创建索引,名称为i。

create index i on item(i_item_sk);

示例中原语句使用如下hint:

explain
select /*+ indexscan(item i) */ i_product_name product_name ...

该hint表示:item表使用索引i进行扫描。生成计划如下所示:

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区