华为云用户手册

  • space_readjust_schedule 参数说明:空间管控和空间统计功能中,控制是否触发自动校准以及校准空间误差阈值。该参数8.1.3及以上集群版本支持。 参数类型:SIGHUP 取值范围:字符串 off表示关闭自动校准功能。 auto表示打开自动校准功能,并且触发自动校准的误差阈值为1GB。 auto(空间大小+K/M/G)表示打开自动校准功能,并且触发自动校准的误差阈值为自定义的空间大小,单位:KB/MB/GB。例如,auto(200M)表示打开自动校准功能,且触发自动校准的误差阈值为200MB。 默认值:auto
  • 输出性能统计日志 参数说明:对每条查询,以下4个选项控制在服务器日志里记录相应模块的性能统计数据,具体含义如下: log_parser_stats控制在服务器日志里记录解析器的性能统计数据。 log_planner_stats控制在服务器日志里记录查询优化器的性能统计数据。 log_executor_stats控制在服务器日志里记录执行器的性能统计数据。 log_statement_stats控制在服务器日志里记录整个语句的性能统计数据。 这些参数只能辅助管理员进行粗略分析,类似Linux中的操作系统工具getrusage() 。 参数类型:SUSET log_statement_stats记录总的语句统计数据,而其他参数只记录针对每个模块的统计数据。 log_statement_stats不能和其他任何针对每个模块统计的选项一起打开。 取值范围:布尔型 on表示开启记录性能统计数据的功能。 off表示关闭记录性能统计数据的功能。 默认值:off
  • track_sql_count 参数说明:控制对每个会话中当前正在执行的SELECT、INSERT、UPDATE、DELETE、MERGE INTO语句是否进行计数统计,对SELECT、INSERT、UPDATE、DELETE语句的响应时间进行统计,以及对DDL、DML、DCL语句进行计数的统计。 参数类型:SUSET 取值范围:布尔型 on表示开启统计功能。 off表示关闭统计功能。 默认值:on track_sql_count参数受track_activities约束: track_activities开启而track_sql_count关闭时,如果查询了gs_sql_count、pgxc_sql_count、gs_workload_sql_count、pgxc_workload_sql_count、global_workload_sql_count、gs_workload_sql_elapse_time、pgxc_workload_sql_elapse_time或global_workload_sql_elapse_time视图,将会有 LOG 提示track_sql_count是关闭的。 track_activities和track_sql_count同时关闭,那么此时将会有两条LOG,分别提示track_activities是关闭的和track_sql_count是关闭的。 track_activities关闭而track_sql_count开启,此时将仅有LOG提示track_activities是关闭。 当参数关闭时,查询视图的结果为0行。
  • enable_track_wait_event 参数说明:控制是否对各类等待事件的发生次数、失败次数、持续时间、最大、最小和平均等待时间等信息进行统计。 参数类型:SIGHUP 取值范围:布尔型 on表示开启统计功能。 off表示关闭统计功能。 默认值:off enable_track_wait_event参数受track_activities约束,如果track_activities关闭,即使开启enable_track_wait_event也不启用相关功能。 track_activities或enable_track_wait_event关闭时,如果查询get_instr_wait_event函数、gs_wait_events视图或pgxc_wait_events视图将会提示GUC参数关闭,查询结果为0行。 在集群运行过程中关闭track_activities或enable_track_wait_event, GaussDB (DWS)不再对等待事件相关信息进行统计,但已统计记录的数据不受影响。
  • enable_wdr_snapshot 参数说明:控制是否启用性能视图快照功能。开启后,GaussDB(DWS)会定期对部分系统性能视图创建快照并持久化保存,并接受手动创建快照请求。 参数类型:SIGHUP 取值范围:布尔型 on表示开启快照功能。 off表示关闭快照功能。 默认值:off 如果enable_wdr_snapshot参数关闭,执行create_wdr_snapshot函数手动创建视图会提示GUC参数未打开。 如果在快照的过程中修改enable_wdr_snapshot参数,正在创建的快照不受影响,下次定期或手动创建快照时生效。
  • instr_unique_sql_timeout 参数说明:控制Unique SQL的存在时间。StatCollector后台线程每小时对所有的Unique SQL做一次检查,如果发现某个Unique SQL超过instr_unique_sql_timeout小时未被执行,则将其删除。(该参数在8.1.2及以上版本支持。) 参数类型:SIGHUP 取值范围:整型,0~ INT_MAX,单位为小时。 值为0时,表示不删除过期的Unique SQL。 值大于0时,发现超过instr_unique_sql_timeout小时未执行Unique SQL则删除。 默认值:24
  • wdr_snapshot_retention_days 参数说明:设置性能快照数据保留的最大天数。 参数类型:SIGHUP 取值范围:整型,1~15,单位为天。 默认值:8 开启enable_wdr_snapshot的情况下,保存wdr_snapshot_retention_days天数的快照数据会被自动清除。 该参数取值应与可用磁盘空间相对应,取值越大,需要的磁盘空间越大。 对该参数的修改不会立即生效,等到下一次自动创建快照时才会清除过期快照数据。
  • instr_unique_sql_count 参数说明:控制是否收集整个集群的Unique SQL以及收集数量限制。 参数类型:SIGHUP 取值范围:整型,0~ INT_MAX 值为0时,表示不收集Unique SQL统计信息。 值大于0时,在CN节点上,将会控制收集的Unique SQL数量不超过该设置值。当收集数量达到限制时,不再收集新的Unique SQL,此时可通过reload调大设置值,继续收集新的Unique SQL。 默认值:0 如果新设置值小于原设置值,将会清空对应CN节点已收集的Unique SQL统计信息。需特别注意该清理操作将由资源管理后台线程完成,若GUC参数use_workload_manager为off时清理操作可能失败,可直接使用函数reset_instr_unique_sql进行清理。
  • log_error_verbosity 参数说明:控制服务器日志中每条记录的消息写入的详细度。 参数类型:SUSET 取值范围:枚举类型 terse输出不包括DETAIL、HINT、QUERY及CONTEXT错误信息的记录。 verbose输出包括SQLSTATE错误代码 、源代码文件名、函数名及产生错误所在的行号。 default输出包括DETAIL、HINT、QUERY及CONTEXT错误信息的记录,不包括SQLSTATE错误代码 、源代码文件名、函数名及产生错误所在的行号。 默认值:default
  • log_statement 参数说明:控制记录SQL语句。对于使用扩展查询协议的客户端,记录接收到执行消息的事件和绑定参数的值(内置单引号要双写)。 参数类型:SUSET 即使log_statement设置为all,包含简单语法错误的语句也不会被记录,因为仅在完成基本的语法分析并确定了语句类型之后才记录日志。在使用扩展查询协议的情况下,在执行阶段之前(语法分析或规划阶段)同样不会记录。将log_min_error_statement设为ERROR或更低才能记录这些语句。 取值范围:枚举类型 none表示不记录语句。 ddl表示记录所有的数据定义语句,比如CREATE、ALTER和DROP语句。 mod表示记录所有DDL语句,还包括数据修改语句INSERT、UPDATE、DELETE、TRUNCATE和COPY FROM 。 all表示记录所有语句,PREPARE、EXECUTE和EXPLAIN ANALYZE语句也同样被记录。 默认值:none
  • logging_module 参数说明:用于设置或者显示模块日志在服务端的可输出性。该参数属于会话级参数,不建议通过gs_guc工具来设置。 参数类型:USERSET 取值范围:字符串 默认值:所有模块日志在服务端是不输出的,可由SHOW logging_module查看。 设置方法:首先,可以通过SHOW logging_module来查看哪些模块是支持可控制的。例如,查询输出结果为: 1 2 3 4 5 show logging_module; logging_module ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ALL,on(),off(DFS,GUC,HDFS,ORC,SLRU,MEM_CTL,AUTOVAC,ANALYZE,CACHE,ADIO,SSL,GDS,TBLSPC,WLM,SPACE,OBS,EXECUTOR,VEC_EXECUTOR,STREAM,LLVM,OPT,OPT_REWRITE,OPT_JOIN,OPT_AGG,OPT_SUBPLAN,OPT_SETOP,OPT_CARD,OPT_SKEW,SMP,UDF,COOP_ANALYZE,WLMCP,ACCELERATE,PLANHINT,PARQUET,CARBONDATA,SNAPSHOT,XACT,HANDLE,CLOG,TQUAL,EC,REMOTE,CN_RETRY,PLSQL,TEXTSEARCH,SEQ,INSTR,COMM_IPC,COMM_PA RAM , CS TORE,JOB,STREAMPOOL,STREAM_CTESCAN) (1 row) 支持可控制的模块使用大写来标识,特殊标识ALL用于对所有模块日志进行设置。可以使用on/off来控制模块日志的输出。设置SSL模块日志为可输出,使用如下命令: 1 2 3 4 5 6 7 8 set logging_module='on(SSL)'; SET show logging_module; logging_module ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ALL,on(SSL),off(DFS,GUC,HDFS,ORC,SLRU,MEM_CTL,AUTOVAC,ANALYZE,CACHE,ADIO,GDS,TBLSPC,WLM,SPACE,OBS,EXECUTOR,VEC_EXECUTOR,STREAM,LLVM,OPT,OPT_REWRITE,OPT_JOIN,OPT_AGG,OPT_SUBPLAN,OPT_SETOP,OPT_CARD,OPT_SKEW,SMP,UDF,COOP_ANALYZE,WLMCP,A CCELERATE,PLANHINT,PARQUET,CARBONDATA,SNAPSHOT,XACT,HANDLE,CLOG,TQUAL,EC,REMOTE,CN_RETRY,PLSQL,TEXTSEARCH,SEQ,INSTR,COMM_IPC,COMM_PARAM,CSTORE,JOB,STREAMPOOL,STREAM_CTESCAN) (1 row) 可以看到模块SSL的日志输出被打开。 ALL标识是相当于一个快捷操作,即对所有模块的日志可输出进行开启或关闭。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 set logging_module='off(ALL)'; SET show logging_module; logging_module ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ALL,on(),off(DFS,GUC,HDFS,ORC,SLRU,MEM_CTL,AUTOVAC,ANALYZE,CACHE,ADIO,SSL,GDS,TBLSPC,WLM,SPACE,OBS,EXECUTOR,VEC_EXECUTOR,STREAM,LLVM,OPT,OPT_REWRITE,OPT_JOIN,OPT_AGG,OPT_SUBPLAN,OPT_SETOP,OPT_CARD,OPT_SKEW,SMP,UDF,COOP_ANALYZE,WLMCP, ACCELERATE,PLANHINT,PARQUET,CARBONDATA,SNAPSHOT,XACT,HANDLE,CLOG,TQUAL,EC,REMOTE,CN_RETRY,PLSQL,TEXTSEARCH,SEQ,INSTR,COMM_IPC,COMM_PARAM,CSTORE,JOB,STREAMPOOL,STREAM_CTESCAN) (1 row) set logging_module='on(ALL)'; SET show logging_module; logging_module ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ALL,on(DFS,GUC,HDFS,ORC,SLRU,MEM_CTL,AUTOVAC,ANALYZE,CACHE,ADIO,SSL,GDS,TBLSPC,WLM,SPACE,OBS,EXECUTOR,VEC_EXECUTOR,STREAM,LLVM,OPT,OPT_REWRITE,OPT_JOIN,OPT_AGG,OPT_SUBPLAN,OPT_SETOP,OPT_CARD,OPT_SKEW,SMP,UDF,COOP_ANALYZE,WLMCP,ACCELE RATE,PLANHINT,PARQUET,CARBONDATA,SNAPSHOT,XACT,HANDLE,CLOG,TQUAL,EC,REMOTE,CN_RETRY,PLSQL,TEXTSEARCH,SEQ,INSTR,COMM_IPC,COMM_PARAM,CSTORE,JOB,STREAMPOOL,STREAM_CTESCAN),off() (1 row) 所有模块中,COMM_IPC必须显式的打开/开闭,执行以下命令都可以将该模块的日志打开: 1 2 3 4 set logging_module='on(ALL)'; SET set logging_module='on(COMM_IPC)'; SET 设置成功后,COMM_IPC模块日志不会自动关闭,关闭COMM_IPC模块的日志,必须手动执行关闭命令,以下两条命令都可以将该模块日志关闭: 1 2 3 4 set logging_module='off(ALL)'; SET set logging_module='off(COMM_IPC)'; SET 依赖关系:该参数依赖于log_min_messages参数的设置。
  • debug_print_plan 参数说明:用于控制打印查询执行结果。 参数类型:SIGHUP 取值范围:布尔型 on表示开启打印结果的功能。 off表示关闭打印结果的功能。 默认值:off 只有当日志的级别为log及以上时,debug_print_parse、debug_print_rewritten和debug_print_plan的调试信息才会输出。当这些选项打开时,调试信息只会记录在服务器的日志中,而不会输出到客户端的日志中。通过设置client_min_messages和log_min_messages参数可以改变日志级别。 在打开debug_print_plan开关的情况下需尽量避免调用gs_encrypt_aes128及gs_decrypt_aes128函数,避免敏感参数信息在日志中泄露的风险。同时建议用户在打开debug_print_plan开关生成的日志中对gs_encrypt_aes128及gs_decrypt_aes128函数的参数信息进行过滤后再提供给外部维护人员定位,日志使用完成后请及时删除。
  • log_duration 参数说明:控制记录每个已完成SQL语句的执行时间。对使用扩展查询协议的客户端、会记录语法分析、绑定和执行每一步所花费的时间。 参数类型:SUSET 取值范围:布尔型 设置为off ,该选项与log_min_duration_statement的不同之处在于log_min_duration_statement强制记录查询文本。 设置为on并且log_min_duration_statement大于零,记录所有持续时间,但是仅记录超过阈值的语句。这可用于在高负载情况下搜集统计信息。 默认值:on
  • client_min_messages 参数说明:控制发送到客户端的消息级别。每个级别都包含排在它后面的所有级别中的信息。级别越低,发送给客户端的消息就越少。 参数类型:USERSET 当client_min_messages和log_min_messages取相同值时,其值所代表的级别不同。 取值范围:枚举类型,有效值有debug5、debug4、debug3、debug2、debug1、info、log、notice、warning、error。参数的详细信息请参见表1。 默认值:notice
  • log_min_error_statement 参数说明:控制在服务器日志中记录错误的SQL语句。 参数类型:SUSET 取值范围:枚举类型,有效值有debug5、debug4、debug3、debug2、debug1、info、log、notice、warning、error、fatal、panic。参数的详细信息请参见表1。 设置为error ,表示导致错误、日志消息、致命错误、panic的语句都将被记录。 设置为panic,表示关闭此特性。 默认值:error
  • log_min_duration_statement 参数说明:当某条语句的持续时间大于或者等于特定的毫秒数时,log_min_duration_statement参数用于控制记录每条完成语句的持续时间。 设置log_min_duration_statement可以很方便地跟踪需要优化的查询语句。对于使用扩展查询协议的客户端,语法分析、绑定、执行每一步所花时间被独立记录。 参数类型:SUSET 当此选项与log_statement同时使用时,已经被log_statement记录的语句文本不会被重复记录。在没有使用syslog情况下,推荐使用log_line_prefix记录PID或会话ID,方便将当前语句消息连接到最后的持续时间消息。 取值范围:整型,-1 ~ INT_MAX,单位为毫秒。 设置为250,所有运行时间不短于250ms的SQL语句都会被记录。 设置为0,输出所有语句的持续时间。 设置为-1,关闭此功能。 默认值:30min
  • log_min_messages 参数说明:控制写到服务器日志文件中的消息级别。每个级别都包含排在它后面的所有级别中的信息。级别越低,服务器运行日志中记录的消息就越少。 参数类型:SUSET 当client_min_messages和log_min_messages取相同值log时所代表的消息级别不同。 取值范围:枚举类型,有效值有debug5、debug4、debug3、debug2、debug1、info、log、notice、warning、error、fatal、panic。参数的详细信息请参见表1。 默认值:warning
  • backtrace_min_messages 参数说明:控制当产生该设置参数级别相等或更高级别的信息时,会打印函数的堆栈信息到服务器日志文件中。 参数类型:SUSET 该参数作为客户现场问题定位手段使用,且由于频繁的打印函数栈会对系统的开销及稳定性有一定的影响,因此如果需要进行问题定位时,建议避免将backtrace_min_messages的值设置为fatal及panic以外的级别。 取值范围:枚举类型 有效值有debug5、debug4、debug3、debug2、debug1、info、log、notice、warning、error、fatal、panic。参数的详细信息请参见表1。 默认值:panic
  • profile_logging_module 参数说明:用于设置记录性能日志的类型,使用该参数时需确保plog_merge_age参数值非0。该参数属于会话级参数,不建议通过gs_guc工具来设置。仅8.1.3及以上集群版本支持。 参数类型:USERSET 取值范围:字符串 默认值:默认打开OBS、HADOOP、REMOTE_DATANODE,关闭MD。可由SHOW profile_logging_module查看。 设置方法:首先,可以通过SHOW profile_logging_module来查看哪些模块是支持可控制的。例如,查询输出结果为: 1 2 3 4 show profile_logging_module; profile_logging_module -------------------------------------------- ALL,on(OBS,HADOOP,REMOTE_DATANODE),off(MD)(1 row) 打开MD性能日志,并查看设置结果。其中ALL标识是相当于一个快捷操作,即对所有模块的日志可输出进行开启或关闭。 1 2 3 4 5 6 7 set profile_logging_module='on(md)'; SET show profile_logging_module; profile_logging_module --------------------------------------------- ALL,on(MD,OBS,HADOOP,REMOTE_DATANODE),off()(1 row)
  • enable_sonic_hashagg 参数说明:标识是否依据规则约束使用基于面向列的hash表设计的Hash Agg算子。 参数类型:USERSET 取值范围:布尔型 on表示在满足约束条件时使用基于面向列的hash表设计的Hash Agg算子。 off表示不使用面向列的hash表设计的Hash Agg算子。 在开启enable_sonic_hashagg,且查询达到约束条件使用基于面向列的hash表设计的Hash Agg算子时,查询对应的Hash Agg算子内存使用通常可获得精简。但对于代码生成技术可获得显著性能提升的场景(enable_codegen打开后获得较大性能提升),对应的算子查询性能可能会出现劣化。 开启enable_sonic_hashagg,且查询达到约束条件使用基于面向列的hash表设计的Hash Agg算子时,在Explain Analyze/Performance的执行计划和执行信息中,算子显示为“Sonic Hash Aggregation”,而未达到该约束条件时,算子名称将显示为“Hash Aggregation”。 默认值:on
  • enable_sonic_hashjoin 参数说明:标识是否依据规则约束使用基于面向列的hash表设计的Hash Join算子。 参数类型:USERSET 取值范围:布尔型 on表示在满足约束条件时使用基于面向列的hash表设计的Hash Join算子。 off表示不使用面向列的hash表设计的Hash Join算子。 当前开关仅适用于Inner Join的场景。 在开启enable_sonic_hashjoin,查询对应的Hash Inner算子内存使用通常可获得精简。但对于代码生成技术可获得显著性能提升的场景,对应的算子查询性能可能会出现劣化。 开启enable_sonic_hashjoin,且查询达到约束条件使用基于面向列的hash表设计的Hash Join算子时,在Explain Analyze/Performance的执行计划和执行信息中,算子显示为“Sonic Hash Join”,而未达到该约束条件时,算子名称将显示为“Hash Join”。 默认值:on
  • hashjoin_spill_strategy 参数说明:选择hashjoin下盘策略。(该参数8.1.2及以上版本支持) 参数类型:USERSET 取值范围:整型,0~4 0:当内表较大,并且多次下盘无法分开时,尝试外表是否可以放到数据库可用内存建立哈希表。如果内外表均很大,执行NestLoop。 1:当内表较大,并且多次下盘无法分开时,尝试外表是否可以放到数据库可用内存建立哈希表。如果内外表均很大,强制执行HashJoin。 2:当内表较大,并且多次下盘无法分开时,强制执行HashJoin。 3:当内表较大,并且多次下盘无法分开时,尝试外表是否可以放到数据库可用内存建立哈希表。如果内外表均很大,则报错。 4:当内表较大,并且多次下盘无法分开时,则报错。 此参数只对向量化HashJoin生效。 对于数据distinct值很小且数据量很大的场景,可能出现无法下盘导致使用内存过大产生内存不受控的问题。 取值0时通过尝试内外表交换或者Nestloop可以避免出现此类内存不受控问题。 执行Nestloop可能造成某些场景性能劣化。 取值0对向量化Full Join不生效,行为与取值1相同。只尝试外表是否可建立哈希表,不执行NestLoop。 默认值:0
  • debug_group_dop 参数说明:当query_dop取值为0时,针对生成的执行计划划分的以Stream算子为顶点的group,均分配统一的dop并行度。此参数用于人为指定特定group的dop进行性能调优,格式为G1,D1,G2,D2,...,其中:G1,G2为group的ID,可以从日志中获得,D1,D2为指定的dop值,可以为任意正整数。 参数类型:USERSET 取值范围:字符型 默认值:空 该参数仅供内部调优使用,不允许用户进行设置,建议保持默认值。
  • enable_sonic_optspill 参数说明:标识是否优化sonic场景下Hash Join或者Hash Agg的下盘文件个数。仅在enable_sonic_hashjoin或者 enable_sonic_hashagg开启情况下生效。 参数类型:USERSET 取值范围:布尔型 on表示开启下盘文件数优化。 off表示关闭下盘文件数优化。 满足sonic条件下的Hash Join或者Hash Agg算子,在关闭此参数(设置为off)时每列会产生1个下盘文件。开启此参数(设置为on)时如果不同列数据类型相似,只会有1个下盘文件(最多5个文件)。 默认值:on
  • max_streams_per_query 参数说明:控制查询计划中Stream节点的数目。(该参数仅8.1.3.200及以上集群版本支持) 参数类型:SUSET 取值范围:整型,-1~10000 -1,表示查询计划中Stream节点数目无限制。 0~10000,表示查询计划中Stream节点数目超过设定值后报错,查询计划不会被执行。 此参数只控制DN上的Stream节点,不考虑CN上的Gather节点。 此参数不影响Explain查询计划,但是对Explain analyze和Explain performance有影响。 默认值:-1
  • expand_hashtable_ratio 参数说明:控制Hash Agg和Hash Join算子执行过程中hash表的大小扩大比例。 参数类型:USERSET 取值范围:浮点型,0, 0.5~10 默认值设置为0时表示hash表大小会根据当前内存进行自适应扩展。 默认值设置为0.5~10之间时,显示的是指定hash表扩大的倍数,通常hash表越大性能越好,但会占用更多内存空间,在内存不足场景可能造成数据提前下盘,带来性能劣化。 默认值:0
  • plan_cache_mode 参数说明:标识在prepare语句中,选择生成执行计划的策略。 参数类型:USERSET 取值范围:枚举类型 auto表示按照默认的方式选择custom plan或者generic plan。 force_generic_plan表示强制走generic plan。 force_custom_plan表示强制走custom plan。 此参数只对prepare语句生效,一般用在prepare语句中参数化字段存在比较严重的数据倾斜的场景下。 custom plan是指对于preapre语句,在执行execute的时候,把execute语句中的参数嵌套到语句之后生成的计划。custom plan会根据execute语句中具体的参数生成计划,这种方案的优点是每次都按照具体的参数生成优选计划,执行性能比较好;缺点是每次执行前都需要重新生成计划,存在大量的重复的优化器开销。 generic plan是指对于preapre语句生成计划,该计划策略会在执行execute语句的时候把参数bind到plan中,然后执行计划。这种方案的优点是每次执行可以省去重复的优化器开销;缺点是当bind参数字段上数据存在倾斜时该计划可能不是最优的,部分bind参数场景下执行性能较差。 默认值:auto
  • default_statistics_target 参数说明:为没有用ALTER TABLE SET STATIS TICS 设置字段目标的表设置缺省统计目标。此参数设置为正数是代表统计信息的样本数量,为负数时,代表使用百分比的形式设置统计目标,负数转换为对应的百分比,即-5代表5%。采样时,会将default_statistics_target * 300作为随机抽样的大小,例如默认值为100时,会随机读取30000个页面再从中随机取30000条数据来完成随机抽样。 参数类型:USERSET 取值范围:浮点型,-100~10000。 比默认值大的正数数值增加了ANALYZE所需的时间,但是可能会改善优化器的估计质量。 调整此参数可能存在性能劣化的风险,如果某个查询劣化,可以考虑: 恢复默认的统计信息。 使用plan hint来调整到之前的查询计划。 当此guc参数设置为负数时,如果计算的采样样本数大于等于总数据量的2%,且用户表的数据量小于1600000时,ANALYZE所需时间相比guc参数为默认值的时间会有所增加。 当此guc参数设置为负数时,autoanalyze不支持百分比采样,采样过程使用参数默认值。 当此guc参数设置为正数时,用户执行analyze需要被授予ANALYZE权限。 当此guc参数设置为负数时,即百分比采样时,用户执行analyze需要同时被授予ANALYZE和SELECT权限。 默认值:100
  • join_collapse_limit 参数说明:根据得出的列表项数来判断优化器是否执行把除FULL JOINS之外的JOIN构造重写到FROM列表中。 参数类型:USERSET 取值范围:整型,1~INT_MAX。 设置为1会避免任何JOIN重排。这样就使得查询中指定的连接顺序就是实际的连接顺序。查询优化器并不是总能选取最优的连接顺序,高级用户可以选择暂时把这个变量设置为1,然后指定它们需要的连接顺序。 比默认值小的数值减少规划时间但也降低了执行计划的质量。 默认值:8
  • enable_bloom_filter 参数说明:标识是否允许使用BloomFilter优化。 参数类型:USERSET 取值范围:布尔型 on表示允许使用BloomFilter优化。 off表示不允许使用BloomFilter优化。 默认值:on 适用场景:外表侧同线程包含有HDFS内外表或列存表的HASH JOIN会触发Bloom Filter。 使用限制: JOIN类型仅限于INNER JOIN、SEMI JOIN、RIGHT JOIN、RIGHT SEMI JOIN、RIGHT ANTI JOIN、RIGHT ANTI FULL JOIN。 JOIN内表侧的数据不能超过5万行。 JOIN内表侧关联条件:对于HDFS内外表不能为表达式;对于列存表可以为表达式,但仅限于非JOIN层计算的表达式。 JOIN外表侧关联条件必须为简单列关联。 JOIN内表侧与外表侧关联条件均为简单列关联时,计划层估算必须可以去除1/3以上的数据(仅针对HDFS内外表)。 JOIN不能包含null值关联。 JOIN层未出现下盘。 数据类型: HDFS内外表字段类型支持SMALLINT、INTEGER、BIGINT、REAL/FLOAT4、DOUBLE PRECISION/FLOAT8、CHAR(n)/CHARACTER(n)/NCHAR(n)、VARCHAR(n)/CHARACTER VARYING(n)、CLOB、TEXT。 列存表字段类型支持SMALLINT、INTEGER、BIGINT、OID、"char"、CHAR(n)/CHARACTER(n)/NCHAR(n)、VARCHAR(n)/CHARACTER VARYING(n)、NVARCHAR2(n)、CLOB、TEXT、DATE、TIME、TIMESTAMP、TIMESTAMPTZ,其中字符类型其排序规则必须指定为"C"。
共100000条