云服务器内容精选

  • setop_optmode 参数说明:控制不带ALL选项的集合操作(UNION/EXCEPT/INTERSECT)语句的各个查询分支语句是否执行去重操作。 参数类型:USERSET 取值范围:枚举型 disable:查询分支不执行去重操作。 force:强制查询分支执行去重操作。 cost:优化器在查询分支去重和不去重这两种执行方式中,选择代价比较小的执行方式。 默认值:cost 新装9.1.0.200及以上版本集群中该参数的默认值为cost,升级场景该参数的默认值为保持前向兼容维持原值。 此参数配置仅在SQL语句的执行计划满足以下条件时生效: SQL语句中的UNION/EXCEPT/INTERSECT操作不带ALL选项。 执行集合操作的各个查询分支在进行集合操作前执行过数据重分布动作。
  • qrw_inlist2join_optmode 参数说明:控制是否使用inlist-to-join查询重写。 参数类型:USERSET 取值范围:字符串 disable:关闭inlist2join查询重写。 cost_base:基于代价的inlist2join查询重写。 rule_base:基于规则的inlist2join查询重写,即强制使用inlist2join查询重写。 任意正整数:inlist2join查询重写阈值,即list内元素个数大于该阈值,进行inlist2join查询重写。 默认值:disable
  • enable_hashfilter_test 参数说明:该参数用于控制是否为基表扫描增加分布列的hashfilter,以便确认结果是否符合预期。同时,在数据插入时,控制是否进行DN准确性校验(即校验当前数据是否应该插入当前DN)。 参数类型:USERSET 取值范围:布尔型 on表示为基表扫描添加分布列的hashfilter,并在数据插入时进行DN准确性校验。 off表示不为基表扫描添加分布列的hashfilter,并在数据插入时不进行DN准确性校验。 默认值:on 此参数仅对hash分布的表有效。 当该参数设置为on后,因在数据插入时会进行DN准确性校验,会影响数据插入性能。
  • best_agg_plan 参数说明:对于stream下的Agg操作,优化器会生成三种计划: hashagg+gather(redistribute)+hashagg。 redistribute+hashagg(+gather)。 hashagg+redistribute+hashagg(+gather)。 本参数用于控制优化器生成哪种hashagg的计划。 参数类型:USERSET 取值范围:0,1,2,3 取值为1时,强制生成第一种计划。 取值为2时,如果group by列可以重分布,强制生成第二种计划,否则生成第一种计划。 取值为3时,如果group by列可以重分布,强制生成第三种计划,否则生成第一种计划。 取值为0时,优化器会根据以上三种计划的估算cost选择最优的一种计划生成。 默认值:0
  • volatile_shipping_version 参数说明:控制volatile函数下推执行的范围。 参数类型:USERSET 取值范围:0,1,2,3 取值为3时,在2的基础上,扩展支持InlineCTE在只被引用一次时支持下推,扩展支持复制表UPSERT中使用包含volatile函数时的下推。 取值为2时,在1的基础上,扩展支持在复制CTE结果的目标列中包含volatile函数时的下推。 取值为1时,扩展支持nextval、uuid_generate_v1、sys_guid、uuid函数出现在语句目标列时的完全下推。 取值为0时,支持random类函数的完全下推,nextval、uuid_generate_v1函数仅在INSERT含有简单查询语句的部分下推。 默认值:3
  • expected_computing_nodegroup 参数说明:标识选定的计算Node Group模式或目标计算Node Group。Node Group目前为内部用机制,用户无需设置。 共4种计算Node Group模式,用于关联操作和聚集操作时选定计算Node Group。在每一种模式中,优化器有针对性地选定几个候选计算Node Group,然后根据代价,从中为当前算子挑选更合适的计算Node Group。 参数类型:USERSET 取值范围:字符串 optimal:候选计算Node Group列表包含算子操作对象所在的Node Group和由当前用户具有COMPUTE权限的所有Node Group包含的所有DN构成的Node Group。 query:候选计算Node Group列表包含算子操作对象所在的Node Group和由当前查询涉及的所有基表所在Node Group包含的所有DN构成的Node Group。 bind:当前session用户是逻辑集群用户时,候选计算Node Group为当前用户关联的逻辑集群的Node Group;当session用户不是逻辑集群用户时,候选计算Node Group选取规则和参数设置为query时的规则一致。 Node Group名: enable_nodegroup_debug为off时:候选计算Node Group列表包含算子操作对象所在的Node Group和该指定的Node Group。 enable_nodegroup_debug为on时:候选计算Node Group为指定的Node Group。 默认值:bind
  • turbo_engine_version 参数说明:对于建表指定turbo存储格式表(表属性中enable_turbo_store参数设置为on),且当查询不涉及merge join或sort agg算子时,执行器可走turbo执行引擎,执行器部分性能可获得成倍性能提升。 参数类型:USERSET 取值范围:0,1,2,3 取值为0时,表示turbo执行引擎关闭。 取值为1时,表示仅针对单表agg查询场景使用turbo执行引擎。 取值为2时,表示仅针对单表agg或多表join关联查询场景使用turbo执行引擎。 取值为3时,对于大多常用算子可使用turbo执行引擎加速,不支持算子如merge join,sort agg等算子。数据量较大且turbo_engine_version取值为3时,merge join,sort agg算子出现的情况较少,因此基本可以实现任意SQL语句的turbo执行引擎加速。 默认值:0 跨VW场景暂不建议打开turbo执行引擎。
  • enable_nodegroup_debug 参数说明:控制优化器在多Node Group环境下,是否使用强制弹性计算。Node Group目前为内部用机制,用户无需设置。 该参数只在expected_computing_nodegroup被设置为具体Node Group时生效。 参数类型:USERSET 取值范围:布尔型 on表示强制将计算弹性到expected_computing_nodegroup所指定的Node Group进行计算。 off表示不强制使用某个Node Group进行计算。 默认值:off
  • max_opt_sort_rows 参数说明:控制order by子句中最大优化的limit+offset行数。该参数仅8.3.0及以上集群版本支持。 参数类型:USERSET 取值范围:整型,0~INT_MAX 取值为0时:表示参数不生效。 取值为其他值时:表示order by子句中limit+offset行数小于该值时,优化生效,大于该值时,优化不生效。优化后耗时减小,但内存消耗可能增大。 默认值:0
  • enable_value_redistribute 参数说明:控制是否开启生成value redistribute优化计划,8.2.0及以上集群版本中,该参数针对不带Partition by子句的rank、dense_rank、row_number是否生成value redistribute优化计划生效。 参数类型:USERSET 取值范围:布尔型 on表示支持使用value redistribute生成优化计划。 off表示不支持使用value redistribute生成优化计划。 默认值:on
  • spill_compression 参数说明:控制执行器算子运行数据由于内存不足下盘时的压缩算法。该参数仅9.1.0.100及以上集群版本支持。 参数类型:USERSET 取值范围:枚举型 'lz4',表示使用lz4压缩算法,对于下盘量较小场景性能更优,但占用更多存储空间。 'zstd',表示使用zstd压缩算法,对于下盘量较大场景,IO为主要瓶颈,其性能更优,且存储空间约为lz4的2/3。 默认值:'lz4'
  • enable_mixedagg 参数说明:控制优化器对Mixed Agg聚集规划类型的使用。 参数类型:USERSET 取值范围:布尔型 on表示使用,为符合条件的Grouping Sets语句(包括Rollup或Cube)生成Mixed Agg查询计划。 off表示不使用。 默认值:on 新装9.1.0.200及以上版本集群中该参数的默认值为on,升级场景该参数的默认值为保持前向兼容维持原值。 通常在大数量场景(单个DN表的数据量在100GB以上),采用Mixed Agg查询计划可以提升语句的执行性能。 不支持Mixed Agg的场景如下: GROUP BY子句里列的数据类型不支持哈希操作。 聚集函数中包含DISTINCT去重或ORDER BY排序。 使用GROUPING SETS子句时不包含空的分组。
  • default_statistic_granularity 参数说明:默认情况下,当未指定PARTITION_MODE时,指定默认收集哪些分区表分区级统计信息。对非分区表不生效。该参数可在PDB级别设置。 参数类型:枚举类型 参数单位:无 取值范围: all:收集整表、一级分区、二级分区的统计信息。 global:收集整表的统计信息。 partition:收集一级分区的统计信息。 global_and_partition:收集整表、一级分区的统计信息。 subpartition:收集二级分区的统计信息。 all_complete:收集整表、一级分区、二级分区的统计信息。 默认值:all。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。如果需要收集分区级统计信息,可根据实际需要设置,但可能会对ANALYZE的性能产生一定影响。 设置不当的风险与影响:需要在维护开销与统计信息准确性间权衡,设置不当可能导致一方代价过大。
  • enable_fast_numeric_agg 参数说明:该参数控制是否开启针对numeric数据类型的agg优化。多租场景下,该参数可在PDB级别设置。 参数类型:布尔型 参数单位:无 取值范围: on:表示开启numeric数据类型的agg优化。 off:表示不开启numeric数据类型的agg优化。 默认值:on。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:关闭后可能会导致对应场景查询性能下降。
  • stats_history_retention_time 参数说明:每个对象(包括表、列、分区、索引)的历史统计信息保留时间。每个对象在收集统计信息时会同时存入历史统计信息表中,当历史统计信息表中该对象的统计信息的保留时间超过该阈值后,再次收集新的统计信息时,已经超过保留时间的统计信息会被清理。 参数类型:浮点型 参数单位:天 取值范围:-1、0 ~ 365000,-1表示历史统计信息不因时间而清除。 默认值:31 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值,如果需要记录更早时间的历史版本的统计信息可以适当调大该参数,但可能会对analyze的性能产生一定影响。 设置不当的风险与影响:设置过大可能会对analyze的性能产生一定影响。