检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
表customer和表store_sales的统计信息估算结果集的大小以及每种join方式的执行代价,然后对比选出执行代价最小的执行计划。 正如前面所说,执行代价计算都是基于一定的模型和统计信息进行估算,当因为某些原因代价估算不能反映真实的cost的时候,就需要通过guc参数设置的方式让执行计划倾向更优规划。
析,对于高频的过滤条件才建议创建索引。 估算不准 对于平均每DN行数如果优化器的估算行数和实际行数中的较大值大于10万行,并且估算行数和实际行数中较大值是较小值的10倍或以上,则上报相关告警。针对这种场景,可以参照行数的Hint修正行数估算,让优化器在正确的行数基础上重新规划执行计划。
"error type: %d of statistics estimate." SQLSTATE: XX000 错误原因:系统内部错误。估算统计信息时传入的估算类型参数错误。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-04568: "pg_get_triggerdef is
析,对于高频的过滤条件才建议创建索引。 估算不准 对于平均每DN行数如果优化器的估算行数和实际行数中的较大值大于10万行,并且估算行数和实际行数中较大值是较小值的10倍或以上,则上报相关告警。针对这种场景,可以参照行数的Hint修正行数估算,让优化器在正确的行数基础上重新规划执行计划。
分布式架构扩展对等同构的ECS节点。 支持在线,在线扩容过程中,DWS服务不重启,持续对外提供服务。 耗时与用户的数据库对象数量和数据量正相关。 集群版本:所有版本,8.1.1开始支持在线 集群缩容 磁盘容量调整、算力调整。 分布式架构收缩部分ECS节点。 支持在线,在线缩容过程中,DWS服务不重启,持续对外提供服务。
g_bulkloadUsedMemSize统计常常大于估算值,update算子占用内存到估算内存临界值时,可能造成insert算子一条数据都无法插入。 8.1.3.330以前版本 出现wait ccn排队,但是看资源池的估算内存和占用内存,以及并发数未到排队阈值。 作业在CCN排队时无法进行全局内存校准,阻塞了作业。
os_freeemem:操作系统剩余内存大小。 summary text 包含实例上作业消耗的总估算内存和消耗的总实际内存大小。 abnormal_query text 使用内存异常的线程ID和queryid,包含两种情况: 当前使用内存最大的会话。 估算内存和实际使用内存差别最大的会话。 abnormal_memory
表示相应算子输出的全局总行数。 E-rows 每个算子估算的输出行数。 E-distinct 表示hashjoin算子的distinct估计值。 Peak Memory 此算子在每个DN上执行时使用的内存峰值,[]中左侧为最小值,右侧为最大值。 E-memory DN上每个算子估算的内存使用量,只有DN上执
并发查询数目,因为它们将共享可用的空间。 这个参数对GaussDB(DWS)分配的共享内存大小没有影响,它也不会使用内核磁盘缓冲,它只用于估算。数值是用磁盘页来计算的,通常每个页面是8192字节。 参数类型:USERSET 取值范围:整型,1~INT_MAX,单位为8KB。 比默
处理方法 GUC参数qrw_inlist2join_optmode可以控制把“in 常量”转join的行为,默认是cost_base的。如果优化器估算不准,可能会出现需要转化的场景没有做转化,导致性能较差。 这种情况下可以通过设置qrw_inlist2join_optmode为rule_base来规避解决。
通过EXPLAIN VERBOSE/EXPLAIN PERFORMANCE打印语句的执行计划。 执行计划中会有语句未收集统计信息的告警,并且通常E-rows估算非常小。 上述例子中,在打印的执行计划中有Warning提示信息,提示有哪些列在这个执行计划中用到了,但是这些列没有统计信息。 在CN的p
节点变更 > 重分布”。 系统将显示“重分布”页面。 在“重分布”页面选择默认的离线模式,单击“下一步:确认”提交重分布任务。 在线重分布 注意事项 在线重分布模式下数据库支持部分DDL和DCL操作。 正在重分布的表支持插入、删除、更新和部分DDL语法。支持功能如下: 可进行正在重
多AZ集群仅支持扩容个数为3的倍数。 设置高级配置。 选择“默认配置”:“在线扩容”默认关闭,“自动重分布”默认开启,“重分布模式”默认为离线模式。 选择“自定义”,您可以设置以下高级配置参数进行扩容操作: “在线扩容”:支持打开在线扩容。在线扩容过程中,支持数据库增删改查及部分DDL语法,其余不支持的语法会出现报错。
史统计信息使用推理估算的逻辑。使用该逻辑对于未及时收集统计信息的表可以增大估算准确的可能性,但也存在错误推理导致估算过大的可能性,需要对于日期类型数据定期插入的场景开启此开关。 参数类型:USERSET 取值范围:布尔型 on表示允许基于历史统计信息使用推理估算的逻辑。 off表
表示相应算子输出的全局总行数。 E-rows 每个算子估算的输出行数。 E-distinct 表示hashjoin算子的distinct估计值。 Peak Memory 此算子在每个DN上执行时使用的内存峰值,[]中左侧为最小值,右侧为最大值。 E-memory DN上每个算子估算的内存使用量,只有DN上执
并发查询数目,因为它们将共享可用的空间。 这个参数对GaussDB(DWS)分配的共享内存大小没有影响,它也不会使用内核磁盘缓冲,它只用于估算。数值是用磁盘页来计算的,通常每个页面是8192字节。 参数类型:USERSET 取值范围:整型,1~INT_MAX,单位为8KB。 比默
分析查询效率异常降低的问题 未收集统计信息导致查询性能差 执行计划中有NestLoop导致SQL语句执行慢 未分区剪枝导致SQL查询慢 行数估算过小,优化器选择走NestLoop导致性能下降 语句中存在“in 常量”导致SQL执行无结果 单表点查询性能差 动态负载管理下的CCN排队
-2,即按2%收集样本估算统计信息。 对于在批处理脚本或者存储过程中生成的中间表,也需要在完成数据生成之后显式的调用ANALYZE。 对于表中多个列有相关性且查询中有同时基于这些列的条件或分组操作的情况,可尝试收集多列统计信息,以便查询优化器可以更准确地估算行数,并生成更有效的执行计划。
资源池上最大的并发数。 max_dop integer 资源池允许的简单作业最大并发数。-1和0代表不限制。 memory_limit name 单个查询估算内存上限。 parentid oid 父资源池OID。 io_limits integer 保留字段,无实际意义。 io_priority
参数说明:控制优化器对stream代价估算时对broadcast分布方式的使用。 参数类型:USERSET 取值范围:布尔型 on表示使用。 off表示不使用。 默认值:on enable_change_hjcost 参数说明:控制优化器在Hash Join代价估算路径选择时,是否使用将内表运行时代价排除在Hash