GBase 8c
性能调优
文章
精选

南大通用GBase 8c使用hint对SQL进行调优

发表于2025-10-13 10:27:41251次浏览6个评论

Plan Hint 为用户提供了直接影响执行计划的手段,用户可以通过指定 join 顺序,join、scan 方法,指定行数等手段来进行执行计划调优,以提升查询性能。

指定形式:/*+ <plan hint>*/
支持范围:指定 join 方式、指定 join 顺序、指定行数、指定 scan 方式。

1、指定join方式

语法:

[no] nestloop | hashjoin | mergejoin (table_list)

使用示例:

2、指定join顺序

语法:

不指定内外表顺序:

leading(join_table_list)

同时指定join顺序和内外表顺序:

leading((join_table_list)) 

使用示例:

3、指定行数

语法:

rows(table_list #|+|-|* const)

# 表示直接使用后面的行数进行hint。
+,-,* 表示对原来估算的行数进行加、减、乘操作
const常量可以是任意非负数,支持科学计数法。

使用示例:

4、指定扫描方式

语法:

[no] <scan_type> (table [index])

no表示不使用hint的scan方式。
<scan_type> 支持常用的 tablescan、indexscan、indexonlyscan。
table表示hint指定的表,只能指定一个表,如果表存在别名应优先使用别名进行hint。

使用示例:

评论

登录后才可以发表评论
枫溪发表于 9个月前
感谢分享
枫溪发表于 9个月前
学习了
枫溪发表于 9个月前
666
枫溪发表于 9个月前
1
用户头像
郝老师发表于 9个月前
GBase用户30419 能改成你的微信昵称吗?
GBase用户47954发表于 1个月前
感谢作者的精彩分享!