检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
优化器方法配置 这些配置参数提供了影响查询优化器选择查询规划的原始方法。如果优化器为特定的查询选择的缺省规划并不是最优的,可以通过使用这些配置参数强制优化器选择一个不同的规划来临时解决这个问题。更好的方法包括调节优化器开销常量、手动运行ANALYZE、增加配置参数default_
优化器方法配置 这些配置参数提供了影响查询优化器选择查询规划的原始方法。如果优化器为特定的查询选择的缺省规划并不是最优的,可以通过使用这些配置参数强制优化器选择一个不同的规划来临时解决这个问题。更好的方法包括调节优化器开销常量、手动运行ANALYZE、增加配置参数default_
优化器方法配置 这些配置参数提供了影响查询优化器选择查询规划的原始方法。如果优化器为特定的查询选择的缺省规划并不是最优的,可以通过使用这些配置参数强制优化器选择一个不同的规划来临时解决这个问题。更好的方法包括调节优化器开销常量、手动运行ANALYZE、增加配置参数default_
enable_pbe_optimization 参数说明:设置优化器是否对以PBE(Parse Bind Execute)形式执行的语句进行查询计划的优化,优化原理是使FQS选择gplan计划。该参数可在PDB级别设置。 参数类型:布尔型 参数单位:无 取值范围: on:表示优化器将优化PBE语句的查询计划,在FQS下选择gplan。
基因查询优化器 介绍基因查询优化器相关的参数。基因查询优化器(GEQO)是一种启发式的查询规划算法。这个算法减少了对复杂查询规划的时间,而且生成规划的开销有时也小于正常的详尽的查询算法。 geqo 参数说明:控制基因查询优化的使用。 该参数通过执行gs_guc reload修改时
838 ms (14 rows) 优化后时间消耗远小于优化前。 --清理示例 gaussdb=# DROP TABLE test_range_pt; 注意事项及约束条件 当分区扫描路径为Index、Index Only时,才支持min/max优化。 当分区索引全部有效且为btree索引时,才支持min/max优化。
838 ms (14 rows) 优化后时间消耗远小于优化前。 --清理示例 gaussdb=# DROP TABLE test_range_pt; 注意事项及约束条件 当分区扫描路径为Index、Index Only时,才支持Max/Min优化。 当分区索引全部有效且为Btree索引时,才支持Max/Min优化。
优化器开销常量 介绍优化器开销常量。这里描述的开销可以按照任意标准度量。只关心其相对值,因此以相同的系数缩放它们将不会对优化器的选择产生任何影响。缺省时,它们以抓取顺序页的开销为基本单位。也就是说将seq_page_cost设为1.0,同时其他开销参数以它为基准设置。也可以使用其他基准,比如以毫秒计的实际执行时间。
参数说明:设置优化器是否对以PBE(Parse Bind Execute)形式执行的语句进行查询计划的优化。 该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型。 on表示优化器将优化PBE语句的查询计划。 off表示不使用优化。 默认值:on enable_global_stats
参数说明:设置优化器是否对简单查询在CN上优化执行,应用端和内核端字符集不匹配时,该参数不生效,建议建库时将字符集设为UTF8。 该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型。 on表示优化器将优化CN上简单查询的执行。 off表示不使用优化。 默认值:on
参数说明:设置优化器是否对以PBE(Parse Bind Execute)形式执行的语句进行查询计划的优化。 该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型。 on表示优化器将优化PBE语句的查询计划。 off表示不使用优化。 默认值:on
数据分区查找优化 分区表对数据查找方面的帮助主要体现在对分区键进行谓词查询场景,例如一张以月份Month作为分区键的表,如图1所示,如果以普通表的方式设计表结构则需要访问表全量的数据(Full Table Scan),如果以日期为分区键重新设计该表,那么原有的全表扫描会被优化成为分区
数据分区查找优化 分区表对数据查找方面的帮助主要体现在对分区键进行谓词查询场景,例如一张以月份Month作为分区键的表,如图1所示,如果以普通表的方式设计表结构则需要访问表全量的数据(Full Table Scan),如果以日期为分区键重新设计该表,那么原有的全表扫描会被优化成为分区
参数说明:设置优化器是否对简单查询在CN上优化执行,应用端和内核端字符集不匹配时,该参数不生效,建议建库时将字符集设为UTF8。 该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型。 on表示优化器将优化CN上简单查询的执行。 off表示不使用优化。 默认值:on
分区表查询优化 本小节示例对应explain_perf_mode参数值为normal。 分区剪枝 分区索引 父主题: 分区表
GUC参数partition_iterator_elimination开启后,且优化器剪枝结果只有一个分区时,目标场景优化才能生效。 消除Partition Iterator算子不支持二级分区表。 支持cplan,支持部分gplan场景,如分区键a = $1(即优化器阶段可以剪枝到一个分区的场景)。 支持SeqS
数据分区查找优化 分区表对数据查找方面的帮助主要体现在对分区键进行谓词查询场景,例如一张以月份Month作为分区键的表,如图1所示。如果以普通表的方式设计表结构则需要访问表全量的数据(Full Table Scan),如果以日期为分区键重新设计该表,那么原有的全表扫描会被优化成为分区
数据分区查找优化 分区表对数据查找方面的帮助主要体现在对分区键进行谓词查询场景,例如一张以月份Month作为分区键的表,如图1所示。如果以普通表的方式设计表结构则需要访问表全量的数据(Full Table Scan),如果以日期为分区键重新设计该表,那么原有的全表扫描会被优化成为分区
分区表查询优化 本节示例对应explain_perf_mode参数值为normal。 分区剪枝 分区算子执行优化 分区索引 分区表统计信息 Partition-wise Join 父主题: 分区表
re = 'disable_merge_append_partition'时,不再生成MergeAppend路径。 父主题: 分区算子执行优化