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

📅 2026/7/15 13:46:33
GBase 8a数据库hint指令使用详解
南大通用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.at2.a and t3.at1.a;3、使用first_rows提高limit查询性能select /*first_rows(30)*/ * from t where a200 limit 300;