检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
创建和管理GaussDB(DWS)分区表 分区表就是把逻辑上的一张表根据分区策略分成几张物理块库进行存储,这张逻辑上的表称之为分区表,物理块称之为分区。分区表是一张逻辑表,不存储数据,数据实际是存储在分区上的。当进行条件查询时,系统只会扫描满足条件的分区,避免全表扫描,从而提升查询性能。
DATABASE对象设计规范 规则2.1 避免直接使用内置的DATABASE(如postgres、gaussdb等) 违反规则的影响: 内置的数据库编码、兼容模式不符合业务要求时,需要重新迁移数据。 所有业务均使用内置数据库,影响变更耗时。 方案建议: 根据实际业务需要,合理创建专用DATABASE并划分给业务使用。
TABLESPACE对象设计规范 规则2.8 禁止自定义TABLESPACE表空间 违反规则的影响: 分布式场景建表使用自定义表空间,导致表数据无法按照各DN分布式存储,出现存储倾斜。 方案建议: 创建表对象使用内置默认表空间。 父主题: GaussDB(DWS)对象设计规范
语句下推调优 语句下推介绍 目前,GaussDB(DWS)优化器在分布式框架下制定语句的执行策略时,有三种执行计划方式:生成下推语句计划、生成分布式执行计划、生成发送语句的分布式执行计划。 下推语句计划:指直接将查询语句从CN发送到DN进行执行,然后将执行结果返回给CN。 分布式
SQL语句改写规则 根据数据库的SQL执行机制以及大量的实践,总结发现:通过一定的规则调整SQL语句,在保证结果正确的基础上,能够提高SQL执行效率。如果遵守下列规则,能够大幅度提升业务查询效率。 使用union all代替union union在合并两个集合时会执行去重操作,而union
案例:增加JOIN列非空条件 若Join列上的NULL值较多,可以加上is not null过滤条件,以实现数据的提前过滤,提高Join效率。 优化前 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
小可设置为2000字节,若设置小于2000字节将按2000字节处理。 DBMS_OUTPUT.PUT_LINE 存储过程PUT_LINE向消息缓冲区写入一行带有行结束符的文本。DBMS_OUTPUT.PUT_LINE函数原型为: 1 2 DBMS_OUTPUT.PUT_LINE (
告警属性 告警ID 告警归属 告警级别 告警类型 业务类型 是否可自动清除 DWS_2000000020 管理面 重要 操作告警 数据仓库服务 是 告警参数 类别 参数名称 参数含义 定位信息 名称 DWS集群的sql探针耗时超阈值。 类型 操作告警。 发生时间 告警发生时间。 附加信息
数据开发设置 操作步骤 编辑器提供基础的设置,包含操作栏、快捷键和存储设置,如果没有对应的OBS桶,可以跳转去创建,具体操作请参见《对象存储服务控制台指南》中的创建桶章节。 登录GaussDB(DWS)管理控制台。 在左侧导航栏中,选择“数据 > SQL编辑器”。 单击“设置”按钮,可根据需求设置相应参数。
通过外表查询OBS上的数据 直接查询外表查看OBS上的数据 如果数据量较少,可直接使用SELECT查询外表,即可查看到OBS上的数据。 执行以下命令,则可以从外表查询数据。 1 SELECT * FROM product_info_ext_obs; 查询结果显示与原始数据显示相
PGXC_GET_STAT_ALL_PARTITIONS PGXC_GET_STAT_ALL_PARTITIONS视图获取各分区表分区的插入、更新、删除以及脏页率信息。 该视图的统计信息依赖于ANALYZE,为获取最准确的信息请先对分区表进行ANALYZE。 表1 PGXC_GE
PGXC_REDO_STAT 视图PGXC_REDO_STAT显示集群中各节点上XLOG重做过程中的统计信息,除新增node_name(节点名称)字段外,其余字段内容和PV_REDO_STAT视图相同。需要有系统管理员权限或预置角色gs_role_read_all_stats权限才可以访问此视图。
GLOBAL_REL_IOSTAT GLOBAL_REL_IOSTAT视图显示集群中所有节点上磁盘读写统计信息的总和。其各字段的名称与GS_REL_IOSTAT视图相同,但含义为各节点上GS_REL_IOSTAT视图同名字段的数值之和。 表1 GLOBAL_REL_IOSTAT字段
创建和使用GaussDB(DWS)序列 序列Sequence是用来产生唯一整数的数据库对象。序列的值是按照一定规则自增的整数。因为自增所以不重复,因此说Sequence具有唯一标识性。这也是Sequence常被用作主键的原因。 通过序列使某字段成为唯一标识符的方法有两种: 一种是
SCHEMA对象设计规范 建议2.7 不在其他USER的私有SCHEMA下创建对象 私有SCHEMA是指创建USER时自带的同名SCHEMA,该SCHEMA为该USER私有。 违反规则的影响: 在其他用户私有SCHEMA下创建对象,对象权限不受创建者控制,OWNER也非创建者。 方案建议:
TABLESPACE对象设计规范 规则2.8 禁止自定义TABLESPACE表空间 违反规则的影响: 分布式场景建表使用自定义表空间,导致表数据无法按照各DN分布式存储,出现存储倾斜。 方案建议: 创建表对象使用内置默认表空间。 父主题: GaussDB(DWS)对象设计规范
VIEW对象设计规范 建议2.16 视图的嵌套需避免超过三层 违反规范的影响: 视图嵌套过深导致执行计划不稳定、耗时不稳定。 视图依赖的对象重建风险高,锁冲突发生概率增大。 方案建议: 创建视图直接基于物理表查询,不建议嵌套视图。 父主题: GaussDB(DWS)对象设计规范
使用Plan Hint进行调优 Plan Hint调优概述 Join顺序的Hint Join方式的Hint 行数的Hint Stream方式的Hint Scan方式的Hint 子链接块名的hint 运行倾斜的hint 指定子查询不提升的hint 字典编码的hint 配置参数的hint
案例:选择合适的分布列 分布列用于将数据分布到不同的节点上,划分均衡可以避免数据倾斜。 在进行关联查询时,尽量选择查询中的关联条件作为分布键。当关联条件作为分布键时,相关数据都分布在DN本地,将减少DN之间的数据流动代价,提升查询速度。 优化前 将a作为t1和t2的分布列,表定义如下:
UTL_RAW 接口介绍 高级功能包UTL_RAW支持的所有接口请参见表1。 表1 UTL_RAW 接口名称 描述 UTL_RAW.CAST_FROM_BINARY_INTEGER 将INTEGER类型值转换为二进制表示形式(即RAW类型)。 UTL_RAW.CAST_TO_BINARY_INTEGER