#openGauss #入门 #安装 #数据库 #开源
知识来源:docs-opengauss.osinfra.cn/zh/
rewrite_rule
参数说明:标识开启的可选查询重写规则。有部分查询重写规则是可选的,开启它们并不能总是对查询效率有提升效果。在特定的客户场景中,通过此GUC参数对查询重写规则进行设置,使得查询效率最优。
此参数可以控制查询重写规则的组合,比如有多个重写规则:rule1、rule2、rule3、rule4。可以设置:
set rewrite_rule=rule1; --启用查询重写规则rule1
set rewrite_rule=rule2,rule3; --启用查询重写规则rule2和rule3
set rewrite_rule=none; --关闭所有可选查询重写规则
该参数属于USERSET类型参数,请参考表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中根据代价选择最优计划。
- disable_pullup_expr_sublink:禁止优化器将expr_sublink类型的子连接提升,关于sublink的分类和提升原理详见《性能调优指南》->《SQL调优指南》->《典型SQL调优点》->《子查询调优》章节。
- enable_sublink_pullup_enhanced:使用增强后的sublink查询重写规则,包括where、 having子句的非相关子链接提升和winmagic重写优化。
- remove_redundant_distinct_group_by:去除ANY_sublink子查询中多余的distinct和group by子句,以支持子查询提升。
默认值:magicset
#openGauss #入门 #安装 #数据库 #开源