更新日期:2024年09月11日
rewrite_rule
参数说明:标识开启的可选查询重写规则。有部分查询重写规则是可选的,开启它们并
不能总是对查询效率有提升效果。在特定的客户场景中,通过此GUC 参数对查询重写规则
进行设置,使得查询效率最优。
此参数可以控制查询重写规则的组合,
比如有多个重写规则:
rule1、
rule2、
rule3、
rule4。
GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
1253
可以设置:
set rewrite_rule=rule1;
--启用查询重写规则rule1
set rewrite_rule=rule2,rule3;
--启用查询重写规则rule2 和rule3
set rewrite_rule=none;
--关闭所有可选查询重写规则
该参数属于USERSET 类型参数,请参考表15-1 中对应设置方法进行设置。
取值范围:字符串
none:不使用任何可选查询重写规则。
lazyagg:使用Lazy Agg 查询重写规则(消除子查询中的聚集运算)。
magicset : 使用Magic Set 查询重写规则(从主查询中下推条件到子查询)。
partialpush:使用Partial Push 查询重写规则。
uniquecheck:使用Unique Check 查询重写规则(提升目标列中无agg 的子查询语
句,在执行时检查返回行数是否为1 行)。
disablerep:使用Disable Replicate 查询重写规则。
intargetlist:使用In Target List 查询重写规则(提升目标列中的子查询)。
predpushnormal:使用Predicate Push 查询重写规则(下推谓词条件到子查询中)。
predpushforce:使用Predicate Push 查询重写规则(下推谓词条件到子查询中,尽
可能的利用索引加速)。
predpush:在predpushnormal 和predpushforce 中根据代价选择最优计划。
默认值:magicset