华为云云数据库GaussDBCustom Plan和Generic Plan选择的Hint_云淘科技
功能描述
对于以PBE方式执行的查询语句和DML语句,优化器会基于规则、代价、参数等因素选择生成Custom Plan或Generic Plan执行。用户可以通过use_cplan/use_gplan的hint指定使用哪种计划执行方式。
语法格式
指定使用Custom Plan:
1 |
use_cplan |
指定使用Generic Plan:
1 |
use_gplan |
对于非PBE方式执行的SQL语句,设置本hint不会影响执行方式。
本Hint的优先级仅高于基于代价的选择和plan_cache_mode参数,即plan_cache_mode无法强制选择执行方式的语句本hint也无法生效。
示例
强制使用Custom Plan
1 2 3 4 |
set enable_fast_query_shipping = off; create table t (a int, b int, c int); prepare p as select /*+ use_cplan */ * from t where a = $1; explain execute p(1); |
计划如下。可以看到过滤条件为入参的实际值,即此计划为Custom Plan。
强制使用Generic Plan
1 2 3 |
deallocate p; prepare p as select /*+ use_gplan */ * from t where a = $1; explain execute p(1); |
计划如下。可以看到过滤条件为待填充的入参,即此计划为Generic Plan。
父主题: 使用Plan Hint进行调优
同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家