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。
使用示例:

热门帖子
- 12025-12-01浏览数:182762
- 22023-05-09浏览数:25056
- 42023-09-25浏览数:18525
- 52020-05-11浏览数:17528