检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
创建和使用GaussDB(DWS)序列 序列Sequence是用来产生唯一整数的数据库对象。序列的值是按照一定规则自增的整数。因为自增所以不重复,因此说Sequence具有唯一标识性。这也是Sequence常被用作主键的原因。 通过序列使某字段成为唯一标识符的方法有两种: 一种是
GaussDB(DWS) SQL编写规则 DDL 【建议】在GaussDB(DWS)中,建议DDL(建表、comments等)操作统一执行,在批处理作业中尽量避免DDL操作。避免大量并发事务对性能的影响。 【建议】在非日志表(unlogged table)使用完后,立即执行数据清
如何处理DWS建表时date类型字段自动转换为timestamp类型的问题? 创建数据库时,可通过DBCOMPATIBILITY参数指定兼容的数据库的类型,DBCOMPATIBILITY取值范围:ORA、TD、MySQL。分别表示兼容Oracle、Teradata和MySQL数据
案例:改写SQL排除剪枝干扰 分区表查询中表达式一般不是单纯的分区键,而是包含分区键的表达式的Filter条件,这种类型的Filter条件是不能用来剪枝的。 优化前 t_ddw_f10_op_cust_asset_mon为分区表,分区键为year_mth,此字段是由年月两个值拼接而成的整数。
GaussDB(DWS)存储过程数据类型转换 数据库中允许有些数据类型进行隐式类型转换(赋值、函数调用的参数等),有些数据类型间不允许进行隐式数据类型转换,可尝试使用GaussDB(DWS)提供的类型转换函数,例如CAST进行数据类型强转。 GaussDB(DWS)数据库常见的隐式类型转换,请参见表1。
循环语句 简单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
检查点 checkpoint_segments 参数说明:设置checkpoint_timeout周期内所保留的最少WAL日志段文件数量。每个日志文件大小为16MB。 参数类型:SIGHUP 取值范围:整型,最小值1。 默认值:64 提升此参数可加快大数据的导入速度,但需要结合c
cidr和inet操作符 操作符<<,<<=,>>,>>=对子网包含进行测试。它们只考虑两个地址的网络部分(忽略任何主机部分),然后判断其中一个网络是等于另外一个网络,还是另外一个网络的子网。 < 描述:小于 示例: 1 2 3 4 5 SELECT inet '192.168.1
GAUSS-03751 -- GAUSS-03760 GAUSS-03751: "heap_update_redo: invalid lp" SQLSTATE: XX000 错误原因:redo update tuple指针非法。 解决办法:检查Xlog是否正确。 GAUSS-03752:
GAUSS-50300 -- GAUSS-50399 GAUSS-50300: "User %s does not exist." SQLSTATE: 无 错误原因:用户不存在。 解决办法:检查用户不存在的原因,创建用户。 GAUSS-50301: "The cluster user/group
GAUSS-00881 -- GAUSS-00890 GAUSS-00881: "adding partition name conflict with existing partitions" SQLSTATE: XX000 错误原因:为关系表增加的分区与已有分区名字冲突,不能进行此操作。
GAUSS-01731 -- GAUSS-01740 GAUSS-01731: "cannot truncate a table referenced in a foreign key constraint" SQLSTATE: 0A000 错误原因:不能truncate被另外一张表外键限制所引用的表格。
附录:表创建语法 本节所附为调优表实践中使用到的SQL测试语句,推荐您将每节的SQL语句拷贝并另存为.sql文件。例如,创建一个包含“创建初始表”SQL语句的create_table_fir.sql文件。创建后使用SQL客户端工具执行.sql文件效率更高,且利于统计用例的总耗费时间。使用gsql运行
Roaring Bitmap操作符 GaussDB(DWS)自8.1.3集群版本开始,支持高效的位图处理操作符,可用于用户画像,精准营销等场景,极大的提高了查询性能。 = 描述:比较两个roaringbitmap是否相等。 返回值类型:bool 示例: 1 2 3 4 5
磁盘缓存主动预热调优 该功能仅9.1.0.200及以上版本支持。 背景介绍 当前存算分离架构为了降低存储成本会将用户数据存储到obs,这样会导致用户每次查询数据时都要发生网络IO去obs取数据,因此当前存算分离架构提供了磁盘缓存的能力,将用户预查询的数据缓存到本地磁盘,当实际查询
案例:增加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
循环语句 简单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
空语句 在PL/SQL程序中,可以用NULL语句来说明“不用做任何事情”,即空语句。 空语句相当于一个占位符,可以使某些语句变得有意义,提高程序的可读性。 语法 空语句的用法如下: 1 2 3 4 5 6 7 8 9 DECLARE … BEGIN … IF
创建和使用GaussDB(DWS)序列 序列Sequence是用来产生唯一整数的数据库对象。序列的值是按照一定规则自增的整数。因为自增所以不重复,因此说Sequence具有唯一标识性。这也是Sequence常被用作主键的原因。 通过序列使某字段成为唯一标识符的方法有两种: 一种是
DATABASE对象设计规范 规则2.1 避免直接使用内置的DATABASE(如postgres、gaussdb等) 违反规则的影响: 内置的数据库编码、兼容模式不符合业务要求时,需要重新迁移数据。 所有业务均使用内置数据库,影响变更耗时。 方案建议: 根据实际业务需要,合理创建专用DATABASE并划分给业务使用。