检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
执行以下步骤测试优化前的系统性能,以建立基准。 将上一节记下的所有11张表的累计加载时间填入基准表的“优化前”一列。 记录各表的存储使用情况。 使用pg_size_pretty函数查询每张表使用的磁盘空间,并将结果记录到基准表中。 1 SELECT T_NAME, PG_SIZE_PRET
JSON类型 概述 JSON数据类型可以用来存储JSON(JavaScript Object Notation)数据,DSC工具支持以下列出类型转换。 类型对照 输入示例JSON 1 2 3 4 5 6 7 CREATE TABLE IF NOT EXISTS `runoob_dataType_test`(
FULLTEXT全文索引 GaussDB(DWS)不支持FULLTEXT全文索引。DSC工具迁移时会根据GaussDB(DWS)的特性进行相应适配。 内联FULLTEXT全文索引。 输入示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
TRANSACTION ISOLATION LEVEL SERIALIZABLE; COMMIT WORK; LOCK DSC工具在迁移MySQL事务处理锁表语句时会根据GaussDB(DWS)特性进行相应适配。 输入示例 1 2 3 4 5 6 7 8 9 10 11
INTERVAL MySQL中使用interval表达式格式为INTERVAL N时间单位,DWS不支持,需要转换为INTERVAL 'N'时间单位。 输入示例 1 2 3 4 5 6 SELECT CURRENT_TIME() - INTERVAL 4 DAY; SELECT NOW()
根据业务表数据量和数据特征设计合理的递归终止条件。 建议3.16 访问对象(表,函数等)时带上SCHEMA名称 违反规范的影响: 不指定SCHEMA名称前缀,实际会根据当前search_path中表空间列表,依次搜索所有表空间直到找到匹配的表作为目标表,可能因SCHEMA切换导致访问到非预期的表。 方案建议:
违反规范的影响: DROP对象操作(如DATABASE、USER/ROLE、SCHEMA、TABLE、VIEW等对象)存在数据丢失风险,尤其含带CASCADE级联删除场景,会将关联的对象一并删除。 DROP DATABASE:整个DATABASE中所有对象被删除。 DROP USE
SQL开发规范 DDL操作规范 INSERT操作规范 UPDATE&DELETE操作规范 SELECT操作规范 父主题: GaussDB(DWS)开发设计建议
已创建虚拟私有云和子网,参见创建虚拟私有云和子网。 步骤一:准备MySQL数据 购买RDS实例,参见表1配置关键参数,其他参数可保持默认,如需了解详情请参见RDS文档。 表1 RDS参数 参数项 取值 计费模式 按需计费 区域 华北-北京四 实例名称 rds-demo 数据库引擎 MySQL 数据库版本 5.7及以上
普通索引和前缀索引 GaussDB(DWS)不支持前缀索引,也不支持内联普通索引。DSC工具迁移时会根据GaussDB(DWS)的特性将其迁移为普通索引。 内联普通(前缀)索引。 输入示例 1 2 3 4 5 6 CREATE TABLE IF NOT EXISTS `public`
值的最大长度不同。DSC工具支持以下列出类型转换。 BLOB类型可以存储图片,列存储不支持BLOB。 类型对照 表1 大对象类型对照表 MySQL大对象类型 MySQL INPUT GaussDB(DWS) OUTPUT TINYBLOB TINYBLOB BLOB BLOB BLOB
数据库管理 DSC工具迁移时会将MySQL SET CHARACTER SET语句迁移为SET SESSION NAMES。字符集对照如下表: 表1 字符集对照表 MySQL CHARACTER SET GaussDB(DWS) SESSION NAMES ASCII SQL_ASCII
SQL开发规范 DDL操作规范 INSERT操作规范 UPDATE&DELETE操作规范 SELECT操作规范 父主题: GaussDB(DWS)开发设计规范
违反规范的影响: DROP对象操作(如DATABASE、USER/ROLE、SCHEMA、TABLE、VIEW等对象)存在数据丢失风险,尤其含带CASCADE级联删除场景,会将关联的对象一并删除。 DROP DATABASE:整个DATABASE中所有对象被删除。 DROP USE
GaussDB(DWS)支持Oracle、Teradata和MySQL数据库兼容模式。 在TD/MySQL兼容模式下,空和NULL是不相等的,在ORA兼容模式下,空和NULL是相等的。因此上述场景可能是因为两个环境中数据库的兼容性模式设置不一致导致。 可通过查询PG_DATABASE系统表确认数据库的兼容模式: 1
违反规范的影响: 针对列存表频繁执行UPDATE/DELETE造成CU膨胀,导致空间膨胀和访问性能下降。 针对列存表并发执行UPDATE/DELETE,导致行锁阻塞和分布式死锁风险,导致业务报错和性能下降。 方案建议: 频繁执行UPDATE/DELETE操作的表需设计为行存表。 按主键或分布
、TIMESTAMP、YEAR。GaussDB(DWS)不支持以上类型,DSC工具将会对其转换。 类型对照 表1 日期和时间类型对照表 MySQL日期时间类型 MySQL INPUT GaussDB(DWS) OUTPUT DATETIME DATETIME[(fsp)] TIMESTAMP[(fsp)]
空间数据类型 概述 MySQL具有对应于OpenGIS类的空间数据类型。DSC工具支持以下列出类型转换。 类型对照 表1 空间数据类型对照表 MySQL空间数据类型 MySQL INPUT GaussDB(DWS) OUTPUT GEOMETRY GEOMETRY GEOMETRY
一个返回boolean类型结果的表达式。只有这个表达式返回true的行才会被更新。 output_expression 在所有需要更新的行都被更新之后,UPDATE命令用于计算返回值的表达式。 取值范围:使用任何table以及FROM中列出的表的字段。*表示返回所有字段。 output_name
事务管理和数据库管理 事务管理 数据库管理 父主题: MySQL语法迁移