检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
案例:建立合适的索引 创建合适的索引可以加速对表中数据行的检索。索引占用磁盘空间,并且降低添加、删除和更新行的速度。如果需要非常频繁地更新数据或磁盘空间有限,则需要限制索引的数量。在表较大时再建立索引,表中的数据越多,索引的优越性越明显。建议仅在匹配如下某条原则时创建索引: 需要经常执行查询的字段
GaussDB(DWS)存储过程控制语句 返回语句 条件语句 循环语句 分支语句 空语句 错误捕获语句 GOTO语句 父主题: GaussDB(DWS)存储过程
游标循环 游标在WHILE语句、LOOP语句中的使用称为游标循环,一般这种循环都需要使用OPEN、FETCH和CLOSE语句。下面要介绍的一种循环不需要这些操作,可以简化游标循环的操作,这种循环方式适用于静态游标的循环,不用执行静态游标的四个步骤。 语法 FOR AS循环的语法请参见图
网络地址函数 函数abbrev,host,text主要是为了提供可选的显示格式。 任何cidr值都能以显式或者隐式的方式转换为inet值,因此能够操作inet值的函数也同样能够操作cidr值。inet值也可以转换为cidr值,此时inet子网掩码右侧的所有位都将转换为零,以创建一个有效的
SQL查询执行流程 SQL引擎从接收SQL语句到执行SQL语句需要经历的步骤如图1和表1所示。其中,红色字体部分为DBA可以介入实施调优的环节。 图1 SQL引擎执行查询类SQL语句的流程 表1 SQL引擎执行查询类SQL语句的步骤说明 步骤 说明 1、语法&词法解析 按照约定的SQL
子查询调优 子查询背景介绍 应用程序通过SQL语句来操作数据库时会使用大量的子查询,这种写法比直接对两个表做连接操作在结构上和思路上更清晰,尤其是在一些比较复杂的查询语句中,子查询有更完整、更独立的语义,会使SQL对业务逻辑的表达更清晰更容易理解,因此得到了广泛的应用。 GaussDB
算子级调优 算子级调优介绍 一个查询语句要经过多个算子步骤才会输出最终的结果。由于个别算子耗时过长导致整体查询性能下降的情况比较常见。这些算子是整个查询的瓶颈算子。通用的优化手段是EXPLAIN ANALYZE/PERFORMANCE命令查看执行过程的瓶颈算子,然后进行针对性优化。
案例:改建分区表 逻辑上的一张表根据某种策略分成多个物理块进行存储,这张逻辑上的表称之为分区表,每个物理块则称为一个分区。一般对数据和查询都有明显区间段特征的表使用分区策略可通过较小不必要的数据扫描,从而提升查询性能 在查询时,可通过分区剪枝技术尽可能减少底层数据扫描,即缩小表的扫描范围
PG_AMOP PG_AMOP系统表存储和访问方法操作符族关联的信息。如果一个操作符是一个操作符族中的成员,则在这个表中会占据一行。一个族成员是一个search操作符或一个ordering操作符。一个操作符可以在多个族中出现,但是不能在一个族中的多个搜索位置或多个排序位置中出现。
PG_AUTHID PG_AUTHID系统表存储有关数据库认证标识符(角色)的信息。角色把“用户”的概念包含在内。一个用户实际上就是一个rolcanlogin标志被设置的角色。任何角色(不管rolcanlogin设置与否)都能够把其他角色作为成员。 在一个集群中只有一份pg_authid
PG_COLLATION PG_COLLATION系统表描述可用的排序规则,本质上从一个SQL名字映射到操作系统本地类别。 表1 PG_COLLATION字段 名字 类型 引用 描述 oid oid - 行标识符(隐藏属性,必须明确选择才会显示)。 collname name -
PG_DATABASE PG_DATABASE系统表存储关于可用数据库的信息。 表1 PG_DATABASE字段 名称 类型 描述 datname name 数据库名称。 datdba oid 数据库所有者,通常为其创建者。 encoding integer 数据库的字符编码方式。
错误报告和日志 记录日志的时间 记录日志的内容 父主题: GaussDB(DWS)数据库GUC参数
GaussDB(DWS)存储过程开发规范 建议5.1 避免使用复杂的存储过程,避免存储过程嵌套 违反规范的影响: 复杂和嵌套的存储过程维护成本高,故障定位难度大,恢复耗时长。 方案建议: 不使用存储过程或只使用一层存储过程,不嵌套。 开发存储过程设计对应的日志表,将关键步骤前后的信息记录到日志表中
运行时统计 查询和索引统计收集器 性能统计 父主题: GaussDB(DWS)数据库GUC参数
GS_RESPOOL_RESOURCE_INFO GS_RESPOOL_RESOURCE_INFO视图显示CN上所有资源池作业运行信息以及当前实例(CN/DN)所有资源池资源使用信息。 DN上仅显示当前DN所属逻辑集群的资源池监控信息。 表1 GS_RESPOOL_RESOURCE_INFO
PGXC_RESPOOL_RESOURCE_INFO PGXC_RESPOOL_RESOURCE_INFO视图显示所有实例上资源池实时监控信息。 DN上仅显示当前DN所属逻辑集群的资源池监控信息。 表1 PGXC_RESPOOL_RESOURCE_INFO字段 名称 类型 描述 nodename
如何查看和设置GaussDB(DWS)数据库的字符集编码格式 查看数据库字符集编码 使用server_encoding参数查看当前数据库的字符集编码。例如,查看到数据库music的字符集编码为UTF8。 1 2 3 4 5 music=> SHOW server_encoding;
SQL诊断场景 问题现象 用户的SQL语句执行时间长,消耗资源多。 定位思路 如果用户的SQL语句在执行时存在效率问题,内核执行后给出优化建议。用户通过查询SQL语句的执行历史,检索出优化建议,进一步优化SQL语句的编写,提高集群的查询效率。 解决步骤 查看“SQL诊断”页面,选择可疑的时间段
资源管理计划阶段 前提条件 添加和修改资源管理计划阶段需满足以下条件: 所有资源池的CPU共享配额总和不超过99%。 所有资源池的CPU专属限额总和不超过100%。 CPU限额仅8.1.3及以上集群版本支持。 开始时间设置默认为UTC时间,具体下次执行时间需根据用户所在时区结合时差转换