检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
DDL操作规范 建议3.1 DDL操作(CREATE除外)避免在业务高峰期和长事务中执行 违反规范的影响: DDL操作普遍持锁级别高,如ALTER、DROP、TRUNCATE、REINDEX、VACUUM FULL等,执行时会造成业务等锁阻塞。 高峰期执行持锁级别高的DDL操作,造成业务等锁阻塞。
SELECT操作规范 规则3.7 禁止执行不下推的SQL GaussDB(DWS)为分布式架构,SQL语句必须下推才能分利用分布式的计算资源,达到性能最优。 违反规范的影响: 不下推的SQL执行性能差,严重情况会导致CN资源瓶颈,影响整体业务。 方案建议: 不使用不下推的语法和不下推的函数,具体参考语句下推调优。
案例:选择合适的分布列 分布列用于将数据分布到不同的节点上,划分均衡可以避免数据倾斜。 在进行关联查询时,尽量选择查询中的关联条件作为分布键。当关联条件作为分布键时,相关数据都分布在DN本地,将减少DN之间的数据流动代价,提升查询速度。 优化前 将a作为t1和t2的分布列,表定义如下:
建表与导入SSB数据 创建SSB目标表 连接DWS数据库后执行以下SQL语句。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
几何操作符 + 描述:平移,即从第一个参数的每个点的坐标中加上第二个point的坐标。 示例: 1 2 3 4 5 SELECT box '((0,0),(1,1))' + point '(2.0,0)' AS RESULT; result -------------
数组操作符 数组比较是使用默认的B-tree比较函数对所有元素逐一进行比较的。多维数组的元素按照行顺序进行访问。如果两个数组的内容相同但维数不等,决定排序顺序的首要因素是维数。 = 描述:两个数组是否相等 示例: 1 2 3 4 5 SELECT ARRAY[1.1,2.1,3.1]::int[]
序列号生成函数 generate_series()函数根据指定的开始值(start)、结束值(stop)和步长(step)返回一个基于系列的集合。 generate_series()函数的入参中,当step是正数且start大于stop,则返回零行。相反,当step是负数且sta
SQL语句中字段名大小写敏感问题 问题现象 某表table01中存在以大小写字母组合的名称为“ColumnA”的字段,使用SELECT语句查询该字段时,提示字段不存在,报错:column "columna" does not exist。 1 2 3 4 5 select ColumnA
数据类型转换出现报错:invalid input syntax for xxx 问题现象 某张表的某个字段类型为varchar(20),数据为5.0,在使用cast(xxx as integer)转换成整数型时报错:invalid input syntax for integer
为什么DWS自动快照创建很慢,很长时间都没有创建好? 自动快照备份很慢,可能是由于所需备份的数据量较大。自动快照是增量备份,备份频率是可以设置的,如果一周只备份一次,当增量数据量较大时,就会出现备份慢的情况。建议您适当地增加备份频率。 其中快照备份和恢复速率如下所示(此速率为实验
执行业务报错could not determine which collation to use for string hashing 问题现象 执行SELECT查询时报错could not determine which collation to use for string hashing。
导出所有数据库 导出所有数据库 导出全局对象 父主题: 使用gs_dump和gs_dumpall命令导出元数据
使用SQL编辑器连接DWS集群 概述 使用SQL编辑器连接集群 数据开发操作 数据开发设置 父主题: 使用可视化工具连接DWS集群
查看DWS集群各项监控指标 查看DWS集群节点指标 查看DWS集群性能指标 查看DWS数据库详情 查看DWS实时SQL记录 查看DWS历史SQL记录 查看DWS的DN慢实例 查看DWS资源池使用情况 父主题: 在监控面板(DMS)查看DWS集群监控
TPC-H测试数据 表1 TPC-H测试数据 序号 表名 行数 表大小 1 region 5 294KB 2 nation 25 298KB 3 supplier 10,000,000 1020MB 4 customer 150,000,000 8226MB 5 part 200
二进制字符串函数和操作符 SQL定义了一些二进制字符串函数,这些函数使用关键字而不是逗号来分隔参数。另外,DWS提供了函数调用所使用的常用语法。 octet_length(string) 描述:二进制字符串中的字节数。 返回值类型:integer 示例: 1 2 3 4 5 SELECT
UPDATE&DELETE操作规范 建议3.5 避免并发UPDATE/DELETE行存表的同一行 违反规范的影响: 并发UPDATE/DELETE行存表可能导致行锁阻塞和分布式死锁风险,导致业务报错和性能下降。 方案建议: 按主键或分布列进行分组UPDATE/DELETE,组间并行,组内串行。
案例:调整GUC参数best_agg_plan 现象描述 t1的表定义为: 1 create table t1(a int, b int, c int) distribute by hash(a); 假设agg下层算子所输出结果集的分布列为setA,agg操作的group by
GOTO语句 GOTO语句可以实现从GOTO位置到目标语句的无条件跳转。GOTO语句会改变原本的执行逻辑,因此应该慎重使用,或者也可以使用EXCEPTION处理特殊场景。当执行GOTO语句时,目标Label必须是唯一的。 语法 label declaration ::= goto
创建和管理DWS视图 视图允许用户保存常用的或者复杂的查询。视图在磁盘上并没有被物理存储,当用户访问视图时查询会作为一个子查询运行。数据库中仅存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中。若基本表中的数据发生变化,从视图中查询出的数据也随之改变。从这个意