检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
MODIFY修改列 MySQL使用MODIFY关键字修改列数据类型、设置非空约束。DSC工具迁移时会根据GaussDB(DWS)的特性进行相应适配。 输入示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 CREATE
FOREIGN_KEY_CHECKS MySQL中的外键约束,GaussDB(DWS)不支持该属性修改表定义信息,DSC迁移时会将该属性删除。 输入示例 1 2 3 4 5 6 SET foreign_key_checks = 0; CREATE TABLE mall_order_dc
PARTITION BY 在MySQL中,PARTITION BY用于创建分区表。GaussDB(DWS)目前仅对MySQL中的RANGE,LIST分区进行支持。 对于PARTITION BY的HASH分区,DSC暂不支持该特性的完整迁移,将其移除。对于表的当前功能暂时没有影响,性能方面可能存在些许差异。
PASSWORD 在MySQL中,PASSWORD表示用户密码。GaussDB(DWS)不支持该参数,DSC迁移时会将该关键字删除。 输入示例 1 2 3 4 5 6 7 CREATE TABLE `public`.`runoob_alter_test`( `dataType1`
添加与删除列 MySQL添加、删除列语句与GaussDB(DWS)存在差异。DSC工具迁移时会根据GaussDB(DWS)的特性进行相应适配。 GaussDB不支持表定义中列序数的变更,工具暂不支持FRIST,AFTER特性的完整迁移。基于当前的临时方案,工具仅仅移除该关键字。 输入示例
COLLATE 在MySQL中,COLLATE表示默认的数据库排序规则。GaussDB(DWS)不支持该属性修改表定义信息,DSC迁移时会将该关键字删除。 输入示例 1 2 3 4 5 6 7 8 CREATE TABLE `public`.`runoob_tbl_test`(
sDB(DWS)支持Oracle、Teradata和MySQL三种兼容模式,分别兼容Oracle、Teradata和MySQL语法,不同兼容模式下的语法行为可能有一些差异。详细内容可参考Oracle、Teradata和MySQL语法兼容性差异。 【关注】Database的owne
gged table)数据的安全性。 【建议】临时表和非日志表的存储方式建议和基表相同。当基表为行存(列存)表时,临时表和非日志表也推荐创建为行存(列存)表,可以避免行列混合关联带来的高计算代价。 【建议】索引字段的总长度不超过50字节。否则,索引大小会膨胀比较严重,带来较大的存储开销,同时索引性能也会下降。
DIRECTORY DIRECTORY表示允许在数据目录和索引目录之外创建表空间。DIRECTORY包含DATA DIRECTORY和INDEX DIRECTORY。GaussDB(DWS)不支持该属性修改表定义信息,DSC迁移时会将该属性删除。 输入示例 1 2 3 4
CHECK约束 CHECK约束声明一个布尔表达式,每次要插入的新行或者要更新的行的新值必须使表达式结果为真或未知才能成功,否则会上报一个异常并且不会修改数据库。 声明为字段约束的检查约束应该只引用该字段的数值,而在表约束里出现的表达式可以引用多个字段。 CREATE TABLE CHECK
LOCK GaussDB(DWS)不支持MySQL中的“ALTER TABLE tbName LOCK”语句,DSC工具迁移时会将其删除。 输入示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
ENGINE 在MySQL中,ENGINE指定表的存储引擎。当存储引擎为ARCHIVE、BLACKHOLE、CSV、FEDERATED、INNODB、MYISAM、MEMORY、MRG_MYISAM、NDB、NDBCLUSTER和PERFOMANCE_SCHEMA时,DSC支持该属性迁移,迁移过程中会将该属性删除。
函数和表达式 概述 由于MySQL中的函数与表达式,在GaussDB(DWS)中不存在或者存在一定的差异,DSC工具会根据GaussDB(DWS)的支持情况做相应迁移。(兼容ADB for MySQL的语法支持) 类型对照 表1 类型对照表 MySQL/ADB函数类型 描述 MySQL
CHECKSUM 在MySQL中,CHECKSUM表示对所有的行维护实时校验和。GaussDB(DWS)不支持该属性修改表定义信息,DSC迁移时会将该关键字删除。 输入示例 1 2 3 4 5 6 7 8 9 10 11 12 CREATE TABLE `public`
唯一约束 【关注】行存表与列存表都支持唯一约束。 【建议】从命名上明确标识唯一约束,例如,命名为“UNI+构成字段”。 主键约束 【关注】行存表与列存表都支持主键约束。 【建议】从命名上明确标识主键约束,例如,将主键约束命名为 “PK+字段名”。 检查约束 【关注】行存表支持检查约束,而列存表不支持。
null约束时,如果无default值,在MySQL中会插入默认值,而在GaussDB(DWS)中插入到非空表时会报错,因此针对常见数据类型,alter table add column包含not null约束补充默认default值(详情见表1)。 输入示例 1 2 3 4
ROW_FORMAT定义了行存储的物理形式。ROW_FORMAT的选择与存储引擎有关,如果在创建表的时候选择了存储引擎不相关的ROW_FORMAT,则使用默认的ROW_FORMAT创建表。当ROW_FORMAT取值为DEFAULT,DSC迁移为SET NOCOMPRESS;当ROW
GaussDB(DWS)字段设计规则 选择数据类型 在字段设计时,基于查询效率的考虑,一般遵循以下原则: 【建议】尽量使用高效数据类型。 选择数值类型时,在满足业务精度的情况下,选择数据类型的优先级从高到低依次为整数、浮点数、NUMERIC。 【建议】当多个表存在逻辑关系时,表示同一含义的字段应该使用相同的数据类型。
CONNECTION GaussDB(DWS)不支持该属性修改表定义信息,DSC迁移时会将该属性删除。 CONNECTION关键字在MySQL中用作引用外部数据源。工具暂不支持该特性的完整迁移。基于当前的临时方案,工具仅仅移除该关键字。 输入示例 1 2 3 4 5 6
CHANGE修改列 MySQL使用CHANGE关键字同时修改列名、列数据类型、设置非空约束。DSC工具迁移时会根据GaussDB(DWS)的特性进行相应适配。 输入示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19