首页 > 数据库 > > 查询规划-其他优化器选项
参数说明:为没有用ALTER TABLE SET STATISTICS设置字段目标的表设置缺省统计目标。此参数设置为正数是代表统计信息的样本数量,为负数时,代表使用百分比的形式设置统计目标,负数转换为对应的百分比,即-5代表5%。
该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
取值范围:整型,-100~10000。

默认值:100
参数说明:控制查询优化器使用表约束查询的优化。
该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
取值范围:枚举类型

当constraint_exclusion为on,优化器用查询条件和表的CHECK约束比较,并且在查询条件和约束冲突的时候忽略对表的扫描。
默认值:partition
目前, constraint_exclusion缺省被打开,通常用来实现表分区。为所有的表打开它时,对于简单的查询强加了额外的规划,并且对简单查询没有什么好处。如果不用分区表,可以关掉它。
参数说明:优化器估计游标获取行数在总行数中的占比。
该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
取值范围:浮点型,0.0~1.0。

比默认值小的值与使用 “fast start” 为游标规划的值相偏离,从而使得前几行恢复的很快而抓取全部的行需要很长的时间。比默认值大的值加大了总的估计的时间。在最大的值1.0处,像正常的查询一样规划游标,只考虑总的估计时间和传送第一行的时间。
默认值:0.1
参数说明:根据生成的FROM列表的项数来判断优化器是否将把子查询合并到上层查询,如果FROM列表项个数小于等于该参数值,优化器会将子查询合并到上层查询。
该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
取值范围:整型,1~INT_MAX。

比默认值小的数值将降低规划时间,但是可能生成差的执行计划。
默认值:8
参数说明:根据得出的列表项数来判断优化器是否执行把除FULL JOINS之外的JOIN构造重写到FROM列表中。
该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
取值范围:整型,1~INT_MAX。

默认值:8
参数说明:该参数为调测参数,目前仅支持OPTIMIZE_PLAN和RANDOM_PLAN两种。其中:OPTIMIZE_PLAN表示通过动态规划算法进行代价估算的最优plan,参数值设置为0;RANDOM_PLAN表示随机生成的plan;如果设置为-1,表示用户不指定随机数的种子标识符seed值,由优化器随机生成[1, 2147483647]范围整型值的随机数,并根据随机数生成随机的执行计划;如果用户指定guc参数值为[1, 2147483647]范围的整型值,表示指定的生成随机数的种子标识符seed,优化器需要根据seed值生成随机的执行计划。
该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
取值范围:整型,-1~ 2147483647
默认值:0

参数说明:标示是否启用谓词下推至原生数据层的功能。
该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。
取值范围:布尔型
默认值:on
参数说明:标示是否允许开启复制表DN随机查找功能,复制表在每个DN存放一份完整数据,随机选取可以缓解节点压力。
该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
取值范围:布尔型
默认值:on
参数说明:用于设置执行HASH JOIN操作时HASH表的大小。
该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
取值范围:整型,0~INT_MAX/2。
默认值:0
参数说明:标识是否允许开启代码生成优化,目前代码生成使用的是LLVM优化。
该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
取值范围:布尔型

目前LLVM优化仅支持向量化执行引擎特性和SQL on Hadoop特性,在其他场景下建议关闭此参数。
默认值:on
参数说明:标识在表达式codegen化过程中所使用的代码生成优化策略。
该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
取值范围:枚举类型

在开启代码生成优化会导致查询性能下降的场景下可以设置此参数为pure,其他场景下建议不改变此参数的默认值partial。
默认值:partial
参数说明:标识是否允许在log日志中打印所生成的LLVM IR函数。
该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
取值范围:布尔型
默认值:off
参数说明:由于LLVM编译生成最终的可执行机器码需要一定时间,因此只有当实际执行的代价大于编译生成机器码所需要的代码和优化后的执行代价之和时,利用代码生成才有收益。codegen_cost_threshold标识代价的阈值,当执行估算代价大于该代价时,使用LLVM优化。
该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
取值范围:整型
默认值:10000
参数说明: 标识是否允许HDFS外表使用信息约束(Informational Constraint)优化执行计划。
该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。
取值范围:布尔型
默认值:on
参数说明: 标识是否允许使用BloomFilter优化。该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
取值范围:布尔型
默认值:on
参数说明: 标识对于日期类型是否允许基于历史统计信息使用推理估算的逻辑。使用该逻辑对于未及时收集统计信息的表可以增大估算准确的可能性,但也存在错误推理导致估算过大的可能性,需要对于日期类型数据定期插入的场景开启此开关。该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
取值范围:布尔型
默认值:off
参数说明: 标识是否允许在生成计划的时候,对于没有统计信息的表进行统计信息自动收集。对于外表和临时表,不支持autoanalyze,如果需要收集统计信息,用户需手动执行analyze操作。如果在auto analyze某个表的过程中数据库发生异常,当数据库正常运行之后再执行语句有可能仍提示需要收集此表的统计信息。此时需要用户对该表手动执行一次analyze操作,以同步统计信息数据。该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
取值范围:布尔型
默认值:off
参数说明: 用户自定义的查询并行度。该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
取值范围:整型,-64-64
[1,64]:打开固定SMP功能,系统会使用固定并行度。
0:打开SMP自适应功能,系统会根据资源情况和计划特征动态选取最优并行度。
[-64,-1]:打开SMP自适应功能,并限制自适应选取的最大并行度。
默认值:1
参数说明: 标识是否允许在生成计划的时候,对于在pg_class中显示reltuples和relpages均为0的表,检查该表是否曾进行过统计信息收集。
取值范围:布尔型
默认值:on
参数说明:标识是否依据规则约束使用基于面向列的hash表设计的Hash Agg算子。
该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
取值范围:布尔型
默认值:on
参数说明:标识是否依据规则约束使用基于面向列的hash表设计的Hash Join算子。
该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
取值范围:布尔型
默认值:on
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3150034/ ,如需转载,请注明出处,否则将追究法律责任。