检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
返回语句 GaussDB(DWS)提供两种方式返回数据:RETURN(或RETURN NEXT)及RETURN QUERY。其中,RETURN NEXT和RETURN QUERY只适用于函数,不适用存储过程。 RETURN 语法 返回语句的语法请参见图1。 图1 return_clause
文本检索操作符 @@ 描述:tsvector类型的词汇与tsquery类型的词汇是否匹配 示例: 1 2 3 4 5 SELECT to_tsvector('fat cats ate rats') @@ to_tsquery('cat & rat') AS RESULT; result
GaussDB(DWS)数据库对象命名规则 数据库对象命名需要满足约束:长度不超过63个字符,以字母或下划线开头,中间字符可以是字母、数字、下划线、$。 【建议】避免使用保留或者非保留关键字命名数据库对象。 可以使用SELECT * FROM pg_get_keywords()查询
案例:改写SQL排除剪枝干扰 分区表查询中表达式一般不是单纯的分区键,而是包含分区键的表达式的Filter条件,这种类型的Filter条件是不能用来剪枝的。 优化前 t_ddw_f10_op_cust_asset_mon为分区表,分区键为year_mth,此字段是由年月两个值拼接而成的整数
GaussDB(DWS)存储过程数据类型转换 数据库中允许有些数据类型进行隐式类型转换(赋值、函数调用的参数等),有些数据类型间不允许进行隐式数据类型转换,可尝试使用GaussDB(DWS)提供的类型转换函数,例如CAST进行数据类型强转。 GaussDB(DWS)数据库常见的隐式类型转换
循环语句 简单LOOP语句 语法图 图1 loop::= 示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 CREATE OR REPLACE PROCEDURE proc_loop(i in integer, count out
分支语句 语法 分支语句的语法请参见图1。 图1 case_when::= when_clause子句的语法图参见图2。 图2 when_clause::= 参数说明: case_expression:变量或表达式。 when_expression:常量或者条件表达式。 statement
作业管理 在创建集群实例后,用户可以自定义作业,启用作业,进行数据迁移。 作业分为数据迁移和自动建表: 数据迁移:把kafka中的数据迁移到GaussDB(DWS)中。 自动建表:把源数据库中的表与字段,同步到GaussDB(DWS)中,但不迁移数据。 创建作业 登录GaussDB
Roaring Bitmap聚合函数 GaussDB(DWS)自8.1.3集群版本开始,支持高效的位图聚合函数,可用于用户画像,精准营销等场景,极大的提高了查询性能。 rb_build_agg(int) 描述:将分组内的int值聚合成一个roaringbitmap值。 返回值类型:
GAUSS-00781 -- GAUSS-00790 GAUSS-00781: "cannot alter data type of distribute column" SQLSTATE: 0A000 错误原因:ALTER COLUMN TYPE操作,不能修改表的分布列的类型。
GAUSS-04741 -- GAUSS-04750 GAUSS-04741: "The count of address '%s' must be not greater than %d." SQLSTATE: 44000 错误原因:address的数量不能超过2个。 解决办法:
GAUSS-01771 -- GAUSS-01780 GAUSS-01771: "cannot create relations in temporary schemas of other sessions" SQLSTATE: 42P16 错误原因:不可在其他sessions的临时表空间中创建表
GAUSS-04771 -- GAUSS-04780 GAUSS-04771: "Snapshot too old." SQLSTATE: XX000 错误原因:查询的快照是旧的快照。 解决办法:可尝试重新执行。 GAUSS-04772: "Load CU failed in adio
GAUSS-01921 -- GAUSS-01930 GAUSS-01921: "return type of transition function %s is not %s" SQLSTATE: 42804 错误原因:依据transfn确定的返回类型与声明的返回类型不相匹配。
GAUSS-50300 -- GAUSS-50399 GAUSS-50300: "User %s does not exist." SQLSTATE: 无 错误原因:用户不存在。 解决办法:检查用户不存在的原因,创建用户。 GAUSS-50301: "The cluster user
GAUSS-00881 -- GAUSS-00890 GAUSS-00881: "adding partition name conflict with existing partitions" SQLSTATE: XX000 错误原因:为关系表增加的分区与已有分区名字冲突,不能进行此操作
附录:表创建语法 本节所附为调优表实践中使用到的SQL测试语句,推荐您将每节的SQL语句拷贝并另存为.sql文件。例如,创建一个包含“创建初始表”SQL语句的create_table_fir.sql文件。创建后使用SQL客户端工具执行.sql文件效率更高,且利于统计用例的总耗费时间
使用GaussDB(DWS)秒级查询交通卡口通行车辆行驶路线 本实践将演示交通卡口车辆通行分析,将加载8.9亿条交通卡口车辆通行模拟数据到数据仓库单个数据库表中,并进行车辆精确查询和车辆模糊查询,展示GaussDB(DWS)对于历史详单数据的高性能查询能力。 GaussDB(DWS
执行gsql连接数据库命令提示gsql:command not found 问题现象 执行gsql -d postgres -p 26000 -r出现如下错误: 1 gsql:command not found… 原因分析 没有在gsql的bin目录下执行。 未执行环境变量。 处理方法
支持指定部分列 DSC支持在执行INSERT期间指定部分列(非全部列)。当输入的INSERT语句不包含输入的CREATE语句中提到的所有列时会出现这种情况。在迁移时,会向这些列添加指定的默认值。 session_mode设为Teradata时支持此功能。 INSERT-INTO-SELECT