检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
WDR报告信息介绍 WDR报表主要内容如表1所示。 表1 WDR报表主要内容 项目 描述 Database Stat 数据库维度性能统计信息:事务,读写,行活动,写冲突,死锁等。 数据库范围报表,cluster模式和node模式下均可查看此报表。 Load Profile 数据库
统计信息调优 统计信息调优介绍 GaussDB是基于代价估算生成的最优执行计划。优化器需要根据analyze收集的统计信息进行行数估算和代价估算,因此统计信息对优化器行数估算和代价估算起着至关重要的作用。通过analyze收集全局统计信息,主要包括:PG_CLASS系统表中的re
分区表相关内置工具函数 前置建表相关信息 前置建表: CREATE TABLE test_range_pt (a INT, b INT, c INT) PARTITION BY RANGE (a) ( PARTITION p1 VALUES LESS THAN (2000)
不建议对临时表创建同义词。如果需要创建,需要指定同义词的目标临时表的模式名,否则无法正常使用该同义词,并且在当前会话结束前执行DROP SYNONYM命令。 删除原对象后,与之关联同义词不会被级联删除,继续访问该同义词将会报错,对于访问表提示已失效,对于访问函数、存储过程、包等会提示对象不存在。
格式模型 表1 格式 序号 Oracle数据库 GaussDB数据库 差异 1 数字格式 支持,有差异 GaussDB仅在参数a_format_version值为10c和a_format_dev_version值为s1的情况下,支持$、C、TM、TM9、TME、U格式。同时在该参数下,不支持TH、PL、SG格式。
分区表相关内置工具函数 前置建表相关信息 前置建表: CREATE TABLE test_range_pt (a INT, b INT, c INT) PARTITION BY RANGE (a) ( PARTITION p1 VALUES LESS THAN (2000)
Partition Iterator算子消除 场景描述 在当前分区表架构中,执行器通过Partition Iterator算子去迭代访问每一个分区。当分区剪枝结果只有一个分区时,Partition Iterator算子已经失去了迭代器的作用,在此情况下消除Partition It
数长度的多列统计信息,不会被删除。 如果用户希望禁用某一特定组合的多列统计信息,又希望使用其它多列统计信息,可以不修改该参数,而使用DDL命令'ALTER TABLE tablename disable statistics ((column list))'的方式,禁用特定的多列组合。
分区必须属于同一个一级分区。 只有分区表的所有者或者被授予了分区表ALTER权限的用户有权限执行ALTER TABLE PARTITION命令,系统管理员默认拥有此权限。 删除、切割、清空、交换分区的操作会使Global索引失效,可以申明UPDATE GLOBAL INDEX子句同步更新索引。
WDR报告信息介绍 WDR报表主要内容如表1所示。 表1 WDR报表主要内容 项目 描述 Database Stat 数据库维度性能统计信息:事务,读写,行活动,写冲突,死锁等。 集群范围报表,仅cluster模式下可查看此报表。 Load Profile 集群维度的性能统计信息
统计信息调优 统计信息调优介绍 GaussDB是基于代价估算生成的最优执行计划。优化器需要根据analyze收集的统计信息进行行数估算和代价估算,因此统计信息对优化器行数估算和代价估算起着至关重要的作用。通过analyze收集全局统计信息,主要包括:pg_class表中的relp
简单表达式 逻辑表达式 逻辑表达式的操作符和运算规则,请参见逻辑操作符。 比较表达式 常用的比较操作符,请参见比较操作符。 除比较操作符外,还可以使用以下句式结构: BETWEEN操作符 a BETWEEN x AND y等效于a >= x AND a <= y a NOT BETWEEN
案例:改写SQL消除子查询 现象描述 1 2 3 4 select 1, (select count(*) from normal_date n where n.id = a.id) as GZCS from normal_date a; 此SQL性能较差,
案例:改写SQL消除子查询 现象描述 1 2 3 4 select 1, (select count(*) from normal_date n where n.id = a.id) as GZCS from normal_date a; 此SQL性能较差,
Partition Iterator算子消除 场景描述 在当前分区表架构中,执行器通过Partition Iterator算子去迭代访问每一个分区。当分区剪枝结果只有一个分区时,Partition Iterator算子已经失去了迭代器的作用,在此情况下消除Partition It
GUC使用说明 数据库提供了许多GUC参数,配置这些参数可以影响数据库系统的行为。在修改这些参数时请确保用户理解了这些参数本身的规格限制与修改后对数据库的影响,否则可能会导致无法预料的结果: 数据库内部部分参数与环境有关,在数据库安装时便已指定,不建议进行修改。如果有一定要修改的
案例:调整基于代价的查询重写GUC参数costbased_rewrite_rule 查询重写能让优化器选择不同的执行路径,但部分规则对SQL的改写,并不能确保输出后的都是可以提升性能的计划。一旦改写错误可能导致千倍的性能差距,因此在查询改写阶段需要对此类规则支持基于代价的评估策略
分区表相关内置工具函数 前置建表相关信息 前置建表: CREATE TABLE test_range_pt (a INT, b INT, c INT) PARTITION BY RANGE (a) ( PARTITION p1 VALUES LESS THAN (2000)
全表关联UPDATE时,如何提升效率? 答:可以通过消除SubPlan的方式提升效率。如下两种UPDATE的方式,方式一的执行计划中存在一个SubPlan,方式二消除了这个SubPlan后修改速度大大增加。 前置操作,建表和插入数据。 --建表。 gaussdb=# CREATE
认值0。参数设置为非0时可能会因认证延迟时间过长导致数据库实例状态异常。 trace_notify 参数说明:为LISTEN和NOTIFY命令生成大量调试输出。client_min_messages或log_min_messages级别必须是DEBUG1或者更低时,才能把这些输出分别发送到客户端或者服务器日志。