ITPub博客

首页 > 数据库 > 国内数据库 > GBase 8a数据库hint指令使用详解

GBase 8a数据库hint指令使用详解

原创 国内数据库 作者:GBASE南大通用 时间:2026-07-17 12:56:44 0 删除 编辑

文章配图-1

南大通用GBase 8a数据库(gbase database)执行SQL语句时,数据库会生成一个执行计划,可以通过hint告诉查询优化器按照我们的方式来生成执行计划。这样的需求通过设置数据库参数也可以实现。

比如set方式,但是set方式是对当前连接生效,如果只想要对指定的sql进行单独的设置,需要在sql执行完成后使用set再恢复执行前的设置,避免对后续的sql执行有影响,但是使用hint是一个很好的解决方式,Hint可基于表的连接顺序、方法、访问路径、并行度等规则对sql语句产生作用,比如调整表之间的join顺序、指定在哪个hashmap上建表等。只对当前sql有效,不影响其他sql的执行。

Hint语法:

多个hint可以用逗号分隔,也可以分开写多个,比如:

/*+HINT[,HIND]*/

/*+HINT*/ /*+HINT*/

注意:

由于hint采用的是和注释相同的格式,所以如果使用gccli执行时,需要加上-c 参数,避免/* */之间的【注释】部分被自动忽略掉,而没有发送到服务器执行。

示例:

1、调整sql执行并行度

gbase> select /*+gbase_parallel_degree(1)*/ * from t2;

2、调整join顺序

select /*+ join_path('t3,t1,t2') */ * from t1,t2,t3 where t1.a=t2.a and t3.a=t1.a;

3、使用first_rows提高limit查询性能

select /*+first_rows(30)*/ * from t where a<200 limit 300;


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69979120/viewspace-3176156/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
GBASE南大通用,致力于成为用户最信赖的数据库产品供应商!

注册时间:2020-07-16

  • 博文量
    1307
  • 访问量
    1281581