检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Oracle、Teradata和MySQL语法兼容性差异 GaussDB(DWS)支持Oracle、Teradata和MySQL三种兼容模式,分别兼容Oracle、Teradata和MySQL语法,不同兼容模式下的语法行为有一些差异。 数据库兼容模型可以在创建数据库时指定(由DBCOMPA
违反规范的影响: 针对列存表频繁执行UPDATE/DELETE造成CU膨胀,导致空间膨胀和访问性能下降。 针对列存表并发执行UPDATE/DELETE,导致行锁阻塞和分布式死锁风险,导致业务报错和性能下降。 方案建议: 频繁执行UPDATE/DELETE操作的表需设计为行存表。 按主键或分布
(18)的最大18字节限制。 当表中某一字段包含有中文字符时,可使用char_length或length函数来查询字段字符长度,使用lengthb函数来查询字段字节长度。 1 2 3 4 5 SELECT length('数据库database'); length --------
禁止针对普通列存表进行实时INSERT操作 违反规范的影响: 针对普通列存表实时小批量入库会导致小CU膨胀严重,影响存储空间和查询性能。 方案建议: 实时INSERT场景评估单次入库数据量和数据总量,总量小的场景可以改为行存表。 实时INSERT场景前端攒批,保证单次、单表、单分区、单
恢复耗时长。 方案建议: 不使用存储过程或只使用一层存储过程,不嵌套。 开发存储过程设计对应的日志表,将关键步骤前后的信息记录到日志表中,操作步骤如下。 保存并查看日志操作步骤。 创建日志表。 1 2 3 4 5 6 7 8 9 CREATE TABLE func_exec_log
违反规范的影响: 针对列存表频繁执行UPDATE/DELETE造成CU膨胀,导致空间膨胀和访问性能下降。 针对列存表并发执行UPDATE/DELETE,导致行锁阻塞和分布式死锁风险,导致业务报错和性能下降。 方案建议: 频繁执行UPDATE/DELETE操作的表需设计为行存表。 按主键或分布
禁止针对普通列存表进行实时INSERT操作 违反规范的影响: 针对普通列存表实时小批量入库会导致小CU膨胀严重,影响存储空间和查询性能。 方案建议: 实时INSERT场景评估单次入库数据量和数据总量,总量小的场景可以改为行存表。 实时INSERT场景前端攒批,保证单次、单表、单分区、单
恢复耗时长。 方案建议: 不使用存储过程或只使用一层存储过程,不嵌套。 开发存储过程设计对应的日志表,将关键步骤前后的信息记录到日志表中,操作步骤如下。 保存并查看日志操作步骤。 创建日志表。 1 2 3 4 5 6 7 8 9 CREATE TABLE func_exec_log
DataCheck基本功能 支持源端为DWS,MySQL,PostgreSQL数据库与目标端为DWS数据库的数据校验。 支持通用类型字段校验:数值、时间、字符类型。 支持校验级别设置:包括high、middle、low三种。 支持指定schema、表名、列名进行校验。 支持指定记录的校验范围,默认为校验所有记录。
创建合适的索引可以加速对表中数据行的检索。索引占用磁盘空间,并且降低添加、删除和更新行的速度。如果需要非常频繁地更新数据或磁盘空间有限,则需要限制索引的数量。在表较大时再建立索引,表中的数据越多,索引的优越性越明显。建议仅在匹配如下某条原则时创建索引: 需要经常执行查询的字段。 对于存在多
disable_acl,表示GRANT/REVOKE操作不更新mtime字段。 disable_truncate,表示TRUNCATE操作不更新mtime字段。 disable_partition,表示分区表相关ALTER操作不更新mtime字段。 默认值:default 父主题: GaussDB(DWS)数据库GUC参数
GaussDB(DWS)导入性能都和哪些因素有关联? dws的导入性能受多方面因素影响,主要有以下几点: 集群规格:磁盘io、网络吞吐、内存、cpu规格等。 业务规划:表字段的类型、是否压缩、行存还是列存。 数据存储:集群本地、OBS等。 数据导入的方式选择等。 父主题: 数据迁移
分布键,对表查询的性能至关重要。此外,合适的分布键还可以使数据的索引更快地创建和维护。 单表存储数据量 单表存储的数据量越大,查询性能就越差。当表中的数据量很大时,则需要考虑将数据进行分区存储。普通表若要转成分区表,需要新建分区表,然后把普通表中的数据导入到新建的分区表中。因此在
创建合适的索引可以加速对表中数据行的检索。索引占用磁盘空间,并且降低添加、删除和更新行的速度。如果需要非常频繁地更新数据或磁盘空间有限,则需要限制索引的数量。在表较大时再建立索引,表中的数据越多,索引的优越性越明显。建议仅在匹配如下某条原则时创建索引: 需要经常执行查询的字段。 对于存在多
应用侧使用连接池场景,如使用连接创建过临时表,当将连接归还连接池前,必须手动清理所创建的临时表 违反规则的影响: 连接被其他业务复用时,可能出现创建临时表报错问题。 方案建议: 在将连接归还连接池之前,使用DROP清理当前SESSION创建的临时表。 父主题: GaussDB(DWS)开发设计建议
应用侧使用连接池场景,如使用连接创建过临时表,当将连接归还连接池前,必须手动清理所创建的临时表 违反规则的影响: 连接被其他业务复用时,可能出现创建临时表报错问题。 方案建议: 在将连接归还连接池之前,使用DROP清理当前SESSION创建的临时表。 父主题: GaussDB(DWS)开发设计规范
PG_STAT_OBJECT系统表存储当前实例上表的统计信息和autovacuum效率信息,并且对于databaseid, relid, partid字段创建索引。该系统表的更新受enable_pg_stat_object参数控制。该系统表仅8.2.1及以上集群版本支持。 表1 PG_STAT_OBJECT字段
当一条SQL语句中同一个元组被多次更新,执行便会报错ERROR:Non-deterministic UPDATE。 可以看到更新操作分成两步执行: 通过关联操作查找满足更新条件的元组。 执行更新操作。 针对上述案例,对于表public.t1中元组 (1, 1)来说,表public.t2中满足更新条件t1.a
用于批量的表达式过滤的场景,确保查询表达式的查询代价估算准确 手动识别 表达式索引信息 创建的表达式索引会自动收集统计信息 用于点查的表达式过滤的场景,确保查询表达式的查询代价估算准确 手动识别 冻结统计信息 将表级的统计信息冻结,防止发生变化 用于数据特征极稳定场景,禁止采样,防止查询计划跳变 用于数据特征
根据查询结果创建表。 CREATE TABLE AS创建一个表并且用来自SELECT命令的结果填充该表,该表的字段和SELECT输出字段的名字及数据类型相关。不过用户可以通过明确地给出一个字段名字列表来覆盖SELECT输出字段的名字。 CREATE TABLE AS对源表进行一次查询