华为云用户手册

  • enable_router 参数说明:是否打开手动设置下推节点功能,能将支持的查询语句下推到特定DN上执行。 参数类型:布尔型 参数单位:无 取值范围: on:表示使用。 off:表示不使用。 默认值:off 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:需手动设置下推节点以针对特定分布列时启用。 设置不当的风险与影响:此功能打开后,若设置错分布列,可能导致数据存入错误的DN,需谨慎使用。
  • enable_codegen 参数说明:标识是否允许开启代码生成优化,目前代码生成使用的是LLVM优化。 参数类型:布尔型 参数单位:无 取值范围: on:表示允许开启代码生成优化。 off:表示不允许开启代码生成优化。 默认值:off 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:开启参数,可能会导致表达式查询场景资源使用上涨。
  • enable_random_datanode 参数说明:标示是否允许开启复制表DN随机查找功能,复制表在每个DN存放一份完整数据,随机选取可以缓解节点压力。 参数类型:布尔型 参数单位:无 取值范围: on:表示允许开启复制表DN随机查找功能。 off:表示不允许开启复制表DN随机查找功能。 默认值:on 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:关闭可能会导致节点压力激增。
  • hashagg_table_size 参数说明:用于设置执行HASH JOIN操作时HASH表的大小。 参数类型:整型 参数单位:无 取值范围:0 ~ 1073741823,其中0表示数据库将根据需要自动调整HASH表的大小。 默认值:0 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。在实际应用中,如果遇到特定的查询场景,比如处理大量数据的聚合操作,可能需要手动调整此参数以优化性能。 设置不当的风险与影响:增加HASH表的大小可以减少HASH AGG操作中的磁盘I/O,因为更多的数据可以保留在内存中。然而,如果设置HASH表大小过大,可能会占用过多内存,导致内存不足。如果设置过小,可能无法有效地利用内存,导致更多的磁盘I/O操作,从而降低查询速度。
  • llvm_max_memory 参数说明:此参数设置Codegen编译产生的IR(包括缓存的和正在使用的)所占用的最大内存。Codegen使用的内存不采用预占的方式申请,属于max_dynamic_memory的一部分,且受llvm_max_memory参数的限制。 参数类型:整型 参数单位:kB 取值范围:0 ~ 2147483647,超过设定值则不再使用Codegen执行逻辑,降级为原有递归执行逻辑。当到达该上限触发执行降级后,调小llvm_max_memory的值无法立即释放多余IR所占用的内存,实际IR所占用的内存随着对应的SQL执行完毕后释放。 默认值:131072(即128MB) 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。例如,设置为100,不带单位,表示100kB;设置为16MB,带单位,表示16MB。取值如果要带单位,必须为kB、MB、GB。 设置建议:推荐使用默认值,当系统视图pv_total_memory_detail中llvm_used_memory项到达默认值上限且业务的性能瓶颈在表达式执行流程时,再做修改。 设置不当的风险与影响: 最大占用内存如果设置过小,则易使系统不再使用Codegen执行逻辑,影响功能使用。 最大占用内存如果设置过大,可能会造成LLVM的编译过多占用其他线程的资源,造成系统整体性能下降。
  • codegen_compile_thread_num 参数说明:该参数用于设置Codegen编译线程的线程数量。 参数类型:整型 参数单位:无 取值范围:1 ~ 8 默认值:1 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值,当业务的并发量较大且业务的性能瓶颈在表达式执行流程时再做修改。 设置不当的风险与影响:线程数量设置过多,可能会导致系统性能下降。但当业务并发量较大时,可适当调大线程数以提升吞吐性能。
  • enable_codegen_print 参数说明:标识是否允许在log日志中打印所生成的LLVM IR函数。 参数类型:布尔型 参数单位:无 取值范围: on:表示允许在log日志中打印IR函数。 off:表示不允许在log日志中打印IR函数。 默认值:off 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值,当定位问题时再开启。 设置不当的风险与影响:若开启则会产生大量的log日志,占用磁盘I/O,从而使数据库系统前台查询的读写性能下降。
  • codegen_cost_threshold 参数说明:由于LLVM编译生成最终的可执行机器码需要一定时间,因此只有当实际执行的代价大于编译生成机器码所需要的代价和优化后的执行代价之和时,利用代码生成才有收益。codegen_cost_threshold标识代价的阈值,当执行估算代价大于该代价时,使用LLVM优化。codegen使用执行算子的plan_rows作为代价与codegen_cost_threshold进行比较,plan_rows的值可以通过explain命令查看。 参数类型:整型 参数单位:无 取值范围:0 ~ 2147483647 默认值:100000 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值,当需要调整codegen机制的触发阈值时,再做修改。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • plan_mode_seed 参数说明:该参数为调测参数,目前仅支持OPTIMIZE_PLAN和RANDOM_PLAN两种。 参数类型:整型 参数单位:无 取值范围:-1 ~ 2147483647 0:表示OPTIMIZE_PLAN模式,即通过动态规划算法进行代价估算生成最优plan。 -1:表示RANDOM_PLAN模式,即随机生成plan,且用户不指定生成随机数的种子标识符seed值,由优化器随机生成[1, 2147483647]范围内的整数值,并根据随机数生成随机的执行计划。 [1, 2147483647]范围内的整数值:表示RANDOM_PLAN模式,即随机生成plan,且用户指定的生成随机数的种子标识符seed值,优化器根据seed值生成随机的执行计划。 默认值:0
  • constraint_exclusion 参数说明:控制查询优化器使用表约束查询的优化。 参数类型:枚举类型 参数单位:无 取值范围: on:表示检查所有表的约束。 off:表示不检查约束。 partition:表示只检查继承的子表和UNION ALL子查询。 默认值:partition 当constraint_exclusion为on时,优化器用查询条件和表的CHECK约束比较,并且在查询条件和约束冲突的时候忽略对表的扫描。 目前,constraint_exclusion默认被打开,通常用来实现表分区。为所有的表打开该参数时,对于简单的查询强加了额外的规划,并且对简单查询没有什么好处。如果不用分区表,可以关掉该参数。
  • cursor_tuple_fraction 参数说明:优化器估计游标获取行数在总行数中的占比。 参数类型:浮点型 参数单位:无 取值范围:0 ~ 1 默认值:0.1 比默认值小的值与使用“fast start”为游标规划的值相偏离,从而使得前几行恢复的很快而抓取全部的行需要很长的时间。比默认值大的值加大了总的估计时间。在最大的值1.0处,像正常的查询一样规划游标,只考虑总的估计时间和传送第一行的时间。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值,如果实际应用中游标操作经常访问表中的大部分行,可以适当增加此参数的值。 设置不当的风险与影响:设置不当可能导致查询性能下降。
  • enable_opfusion 参数说明:控制是否对简单查询进行查询优化。 该开关优化DN的查询性能,可以设置max_datanode_for_plan查看一个查询DN的执行计划,如果DN的执行计划中带有[Bypass]标识则代表该查询在该DN可以查询优化。 简单查询限制如下: 只支持indexscan和indexonlyscan,且全部WHERE语句的过滤条件都在索引上。 只支持单表增删改查,不支持join、using。 只支持行存表,不支持分区表,表不支持有触发器。 不支持active sql、QPS等信息统计特性。 不支持正在扩容和缩容的表。 不支持查询或者修改系统列。 只支持简单SELECT语句,例如: SELECT c3 FROM t1 WHERE c1 = ? and c2 =10; 仅可以查询目标表的列,c1和c2列为索引列,后边可以是常量或者参数,可以使用 for update。 只支持简单INSERT语句,例如: INSERT INTO t1 VALUES (?,10,?); 仅支持一个VALUES,VALUES里面的类型可以是常量和参数,不支持returning。 只支持简单DELETE语句,例如: DELETE FROM t1 WHERE c1 = ? and c2 = 10; c1和c2列为索引列,后边可以是常量或者参数。 只支持简单UPDATE语句,例如: UPDATE t1 SET c3 = c3+? WHERE c1 = ? and c2 = 10; c3列修改的值可以是常量和参数,也可以是一个简单的表达式,c1和c2列为索引列,后边可以是常量或者参数。 支持带序列表的简单插入,例如: CREATE SEQUENCE SEQ; INSERT INTO t1 VALUES (10, nextval('SEQ'::regclass)); t1中第二列为序列自增。仅在enable_bypass_insert_sequence参数打开的状态下生效。 参数类型:布尔型 参数单位:无 取值范围: on:表示使用。 off:表示不使用。 默认值:on 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:关闭有可能导致查询性能劣化。
  • join_collapse_limit 参数说明:根据得出的列表项数,来判断优化器是否把除FULL JOINS之外的JOIN构造重写到FROM列表中。 参数类型:整型 参数单位:无 取值范围:1 ~ 2147483647‬ 默认值:8 设置为1会避免任何JOIN重排。这样就使得查询中指定的连接顺序就是实际的连接顺序。查询优化器并不是总能选取最优的连接顺序,高级用户可以选择暂时把这个参数设置为1,然后指定它们需要的连接顺序。 比默认值小的数值减少规划时间但也降低了执行计划的质量。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。降低参数值减少了规划时间,但可能降低计划生成质量;提高参数值增加了规划时间,但有可能生成更优计划。 设置不当的风险与影响:规划时间与计划生成质量的权衡,设置不当可能导致其中一方效果难以接受。
  • enable_global_stats 参数说明:标识当前统计信息模式。 参数类型:布尔型 参数单位:无 取值范围: on:表示采用全局统计信息收集模式。 off:表示收集集群第一个节点的统计信息,此时可能会影响生成查询计划的质量,但信息收集性能较优,建议谨慎设置。 默认值:on 设置方式:该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:关闭可能会影响集群环境下查询计划生成质量。
  • from_collapse_limit 参数说明:根据生成的FROM列表的项数来判断优化器是否将子查询合并到上层查询,如果FROM列表项个数小于等于该参数值,优化器会将子查询合并到上层查询。 参数类型:整型 参数单位:无 取值范围:1 ~ 2147483647‬ 默认值:8 比默认值小的数值将降低规划时间,但是可能生成差的执行计划。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值,如果查询中经常需要处理多个子查询,并且这些子查询可以有效地合并以提高查询性能,可以考虑增大此参数的值。反之,如果合并子查询导致性能下降或增加了优化器生成执行计划的时间,可以考虑减小该值。 设置不当的风险与影响:设置不当可能会导致查询性能下降。
  • enable_global_plancache 参数说明:设置是否对PBE查询和存储过程中语句的执行计划进行缓存共享,开启该功能可以节省高并发下CN和DN上的内存使用。 在打开enable_global_plancache的情况下,为保证GPC生效,默认local_syscache_threshold不小于16MB。即如果当前local_syscache_threshold小于16MB,则设置为16MB,如大于16MB,则不改变。 参数类型:布尔型 参数单位:无 取值范围: on:表示对PBE查询和存储过程中语句的执行计划进行缓存共享。 off:表示不共享。 默认值:off 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。该参数在CN和DN上必须保持一致。 设置不当的风险与影响:CN和DN上该参数设置不一致会使得CN下发给DN的报文不匹配,从而导致报错等问题。
  • enable_gpc_grayrelease_mode 参数说明:分布式集群下,开启GPC需要重启集群。如果需要在不重启集群的情况下开启GPC,需要用enable_gpc_grayrelease_mode控制滚动开启GPC或关闭GPC。 分布式集群上操作方式。 开启GPC: 在所有DN节点开启enable_gpc_grayrelease_mode。 在所有CN节点开启enable_gpc_grayrelease_mode。 开启GPC参数,由于GPC是POSTMASTER参数,需要先reload参数,之后轮询kill节点,使重新拉起的节点上GPC生效。 关闭GPC: 首先确定enable_gpc_grayrelease_mode是on的状态,reload关闭GPC参数,然后轮询kill节点,使重新拉起的节点上GPC生效。 在所有CN节点关闭enable_gpc_grayrelease_mode。 在所有DN节点关闭enable_gpc_grayrelease_mode。 参数类型:布尔型 参数单位:无 取值范围: on:滚动开启GPC。 off:关闭GPC。 默认值:off 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:此参数打开会影响pbe报文收发逻辑,需严格按照参数说明指定顺序设置,避免不合理报错。
  • enable_pbe_optimization 参数说明:设置优化器是否对以PBE(Parse Bind Execute)形式执行的语句进行查询计划的优化,优化原理是使FQS选择gplan计划。 参数类型:布尔型 参数单位:无 取值范围: on:表示优化器将优化PBE语句的查询计划,在FQS下选择gplan。 off:表示不使用优化。 默认值:on 设置方式:该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值,在不希望FQS选择gplan时可设置为off。 设置不当的风险与影响:关闭可能会导致某些场景走cplan。
  • enable_light_proxy 参数说明:设置优化器是否对CN上简单查询的执行进行优化,应用端和内核端字符集不匹配时,该参数不生效,建议建库时将字符集设为UTF8。 参数类型:布尔型 参数单位:无 取值范围: on:表示优化器将优化CN上简单查询的执行。 off:表示不使用优化。 默认值:on 设置方式:该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:关闭后可能会导致简单查询执行压力集中在CN上。
  • enable_stream_pbe 参数说明:设置优化器在数据节点上是否对STREAM分布式计划使用缓存执行计划的优化。 参数类型:布尔型 参数单位:无 取值范围: on:表示优化器在数据节点上对STREAM分布式计划使用缓存执行计划的优化。 off:表示不使用优化。 默认值:on 设置方式:该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:关闭后可能会增加生成计划的开销。
  • costbased_rewrite_rule_timeout 参数说明:执行的SQL在计划生成阶段时,如果使用各规则做代价评估的整体时间超过该参数设置的超时时间,则对本次请求后续流程关闭基于代价的评估策略,转化为基于规则的改写策略。当查询改写阶段开启基于代价的评估策略后该参数生效。 参数类型:整型 参数单位:ms(毫秒) 取值范围:-1 ~ 300000 默认值:-1 该参数受GUC参数costbased_rewrite_rule影响,当costbased_rewrite_rule值不为none时,该参数生效。 如果设置该参数值为0,表示对当前SQL关闭基于代价的改写策略。 如果设置该参数值为-1,表示对当前SQL关闭超时时间控制。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:可根据实际业务需求评估调整,当该值设置过大或过小时都可能带来额外的性能开销,影响最终的查询性能。
  • gpc_clean_timeout 参数说明:本参数用于控制不使用的共享计划的保留时间。在开启enable_global_plancache的情况下,如果共享计划列表里的计划超过gpc_clean_timeout的时间没有被使用,则会被清理掉。 参数类型:整型 参数单位:s(秒) 取值范围:300 ~ 86400 默认值:1800(即30min) 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。例如,设置为300,不带单位,表示300s;设置为30min,带单位,表示30min。取值如果要带单位,必须为s、min、h、d。 设置建议:推荐使用默认值。 设置不当的风险与影响:设置过大可能导致GPC占用内存过多,建议充分测试后设置合理值。
  • analysis_options 参数说明:通过开启对应选项使用相应的定位功能,包括数据校验,性能统计等,具体参见取值范围中的描述。 参数类型:字符串 参数单位:无 取值范围: 该参数每次设置将会通过集合操作的方式对当前值做修改: gaussdb=# show analysis_options; analysis_options ------------------------------------------------------------ ALL,on(),off(LLVM_COMPILE,HASH_CONFLICT,STREAM_DATA_CHECK) (1 row) gaussdb=# SET analysis_options = 'on(LLVM_COMPILE)'; SET gaussdb=# show analysis_options; analysis_options ----------------------------------------------------------- ALL,on(LLVM_COMPILE),off(HASH_CONFLICT,STREAM_DATA_CHECK) (1 row) gaussdb=# SET analysis_options = 'on(HASH_CONFLICT)'; SET gaussdb=# show analysis_options; analysis_options ----------------------------------------------------------- ALL,on(LLVM_COMPILE,HASH_CONFLICT),off(STREAM_DATA_CHECK) (1 row) gaussdb=# SET analysis_options = 'off(ALL)'; SET gaussdb=# show analysis_options; analysis_options ------------------------------------------------------------ ALL,on(),off(LLVM_COMPILE,HASH_CONFLICT,STREAM_DATA_CHECK) (1 row) LLVM_COMPILE:表示在explain performance显示界面中显示每个线程的codegen编译时间。 HASH_CONFLICT:表示在DN进程的gs_log目录的log日志中显示hash表的统计信息,包括hash表大小、hash链长、hash冲突情况。 STREAM_DATA_CHECK:表示对网络传输前后的数据进行CRC校验。 默认值:off(ALL),表示不开启任何定位功能。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:如需手动设置,需要明确预期显示的结果是否符合需求。
  • costbased_rewrite_rule_max_iterations 参数说明:执行的SQL在计划生成阶段时,如果对同一规则中满足做代价评估的条件数超过该参数的取值,则对本次请求中超过阈值的条件关闭基于代价的评估策略,转化为基于规则的改写策略。当查询改写阶段开启基于代价的评估策略后该参数生效。 参数类型:整型 参数单位:无 取值范围:0 ~ 1000 默认值:10 该参数受GUC参数costbased_rewrite_rule影响,当costbased_rewrite_rule值不为none时,该参数生效。 如果设置该参数值为0,表示对当前SQL关闭基于代价的改写策略。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:可根据实际业务需求评估调整,当该值设置过大或过小时都可能带来额外的性能开销,影响最终的查询性能。
  • enable_csqual_pushdown 参数说明:设置进行查询时,是否要将过滤条件下推,进行Rough Check。 参数类型:布尔型 参数单位:无 取值范围: on:表示进行查询时,将过滤条件下推,进行Rough Check。 off:表示进行查询时,不将过滤条件下推,进行Rough Check。 默认值:on 设置方式:该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:如果查询涉及大量数据的过滤,并且这些数据分布在不同的节点上,关闭过滤条件下推可能会带来性能的下降。
  • explain_perf_mode 参数说明:此参数用来指定explain的显示格式。 参数类型:枚举类型 参数单位:无 取值范围:normal、pretty、summary、run normal:代表使用默认的打印格式。 pretty:代表使用 GaussDB 改进后的新显示格式。新的格式层次清晰,计划包含了plan node id,性能分析简单直接。 summary:是在pretty的基础上增加了对打印信息的分析。 run:在summary的基础上,将统计的信息输出到csv格式的文件中,以便于进一步分析。 默认值:pretty pretty模式当前只支持包含stream算子的计划,不支持下发语句到DN节点的计划。因此显示格式会受enable_stream_operator参数影响,当enable_stream_operator设置为off时无法生成包含stream算子的计划。
  • enable_partition_pseudo_predicate 参数说明:在指定分区查询场景下,是否使用伪谓词改写的方式计算指定分区查询的选择率。 参数类型:布尔型 参数单位:无 取值范围: on:表示使用伪谓词改写。 off:表示不使用伪谓词改写。 默认值:off 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • cost_param 参数说明:该参数用于控制在特定的客户场景中,使用不同的估算方法,使得代价模型估算更准确。通过将参数修改为不同的值,选择开启不同的方法。此参数可以同时控制多种方法,每一种方法由不同的数字编号控制,参数取值与方法对应的数字编号做“与”操作的结果不为0时,表示该方法开启。 当cost_param & 1不为0,表示对于求不等值连接选择率时选择一种改良机制,此方法在自连接(两个相同的表之间连接)的估算中更加准确。当前版本已弃用cost_param & 1不为0时的路径,默认选择更优的估算公式。 当cost_param & 2不为0,表示求多个过滤条件(Filter)的选择率时,选择最小的作为总的选择率,而非两者乘积,此方法在过滤条件的列之间关联性较强时估算更加准确。 当cost_param & 4不为0,表示在进行stream节点估算时,选用调试模型,该模型不推荐用户使用。 参数类型:整型 参数单位:无 取值范围:0 ~ 2147483647‬ 默认值:0 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:在明确需要调整选择率的场景后,设置对应参数值。 设置不当的风险与影响:设置不当可能会导致最终的代价估算不符合预期,建议在充分测试后确认应当设置的参数值。
  • enable_partitionwise 参数说明:分区表连接操作是否选择智能算法。 参数类型:布尔型 参数单位:无 取值范围: on:表示选择智能算法。 off:表示不选择智能算法。 默认值:off 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:打开前确认是否开启SMP,否则可能影响非SMP场景下分区表Join操作的性能。
  • enable_trigger_shipping 参数说明:控制触发器场景是否允许将触发器下推到DN执行。 参数类型:布尔型 参数单位:无 取值范围: on:表示允许将触发器下推到DN执行。 off:表示不允许将触发器下推到DN执行,在CN执行。 默认值:on 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:若关闭该参数,会将性能负载集中在CN节点,不能最大化利用集群性能,建议打开该参数。
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全