Scan方式的Hint
功能描述
指明scan使用的方法,可以是tablescan、indexscan和indexonlyscan。
语法格式
1 | [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。
1 | create index i on item(i_item_sk); |
对示例中原语句使用如下hint:
1 2 | explain select /*+ indexscan(item i) */ i_product_name product_name ... |
该hint表示:item表使用索引i进行扫描。生成计划如下所示:
查看更多:华为GaussDB 200 使用Plan Hint进行调优
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。