KingbaseES enable_hint_table 使用

KingbaseES的enable_hint_table功能类似于Oracle的outline,允许通过hint改变SQL执行计划而不修改SQL本身。启用步骤包括设置shared_preload_libraries、修改sys_hint_plan.enable_hint参数和创建extension。在使用中,需注意SQL后面加";",application_name匹配要求。虽然大小写不影响匹配,但空格和别名需精确匹配。此功能提供了一种灵活调整执行计划的方法,但使用时需确保SQL与hint_table的文本完全一致。
摘要由CSDN通过智能技术生成

KingbaseES enable_hint_table 可以看成类似 oracle outline 工具,可以在不修改SQL 的情况下,通过hint 改变SQL 的执行计划。

一、启用enable_hint_table

1、设置shared_preload_libraries 参数,增加 sys_hint_plan , 重启数据库

2、修改参数 sys_hint_plan.enable_hint=on , select sys_reload_conf()

3、create extension sys_hint_plan ;创建后,会新建 hint_plan.hints 表。

4、设置 set sys_hint_plan.enable_hint_table = on

二、举例说明

1、没使用 hint_plan.hints 时的执行计划

test=# delete from  hint_plan.hints; 
DELETE 1
test=# explain analyze select * from t1 where t1.id1 = 1;
                                                  QUERY PLAN                                                  
---------------------------------------------------------------------------------------------------------------
 Bitmap Heap Scan on t1  (cost=4.20..13.67 rows=6 width=44) (actual time=0.002..0.002 rows=0 loops=1)
   Recheck Cond: (id1 = 1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值