检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
GROUP BY转换 MySQL/ADB分组查询的时候允许查询非分组字段,不报错;DWS分组查询时只能查询分组字段和聚集函数,报错。因此补齐没有group by的查询分组字段。 输入示例 1 SELECT e.department_id, department_name, ROUND(AVG(salary)
CHARSET CHARSET指定表的默认字符集。GaussDB(DWS)不支持该属性修改表定义信息,DSC迁移时会将该关键字删除。 输入示例 1 2 3 4 5 6 CREATE TABLE `public`.`runoob_tbl_test`( `runoob_id`
UNION UNION 是 MERGE 引擎的建表参数。通过该关键字建表类似于创建普通视图。新创建的表将在逻辑上合并UNION关键字限定的多个表的数据。DSC迁移时会将该特性转为GaussDB视图创建语句。 输入示例 1 2 3 4 5 6 7 8 9 10 11
普通索引和前缀索引 GaussDB(DWS)不支持前缀索引,也不支持内联普通索引。DSC工具迁移时会根据GaussDB(DWS)的特性将其迁移为普通索引。 内联普通(前缀)索引。 输入示例 1 2 3 4 5 6 CREATE TABLE IF NOT EXISTS `public`
DIRECTORY DIRECTORY表示允许在数据目录和索引目录之外创建表空间。DIRECTORY包含DATA DIRECTORY和INDEX DIRECTORY。GaussDB(DWS)不支持该属性修改表定义信息,DSC迁移时会将该属性删除。 输入示例 1 2 3 4
CHECK约束 CHECK约束声明一个布尔表达式,每次要插入的新行或者要更新的行的新值必须使表达式结果为真或未知才能成功,否则会上报一个异常并且不会修改数据库。 声明为字段约束的检查约束应该只引用该字段的数值,而在表约束里出现的表达式可以引用多个字段。 CREATE TABLE CHECK
ENGINE 在MySQL中,ENGINE指定表的存储引擎。当存储引擎为ARCHIVE、BLACKHOLE、CSV、FEDERATED、INNODB、MYISAM、MEMORY、MRG_MYISAM、NDB、NDBCLUSTER和PERFOMANCE_SCHEMA时,DSC支持该属性迁移,迁移过程中会将该属性删除。
RENAME 重命名表名 MySQL重命名表名的语句与GaussDB(DWS)有一些差异。DSC工具迁移时会根据GaussDB(DWS)的特性进行相应适配。 工具暂不支持原表名附有DATABASE(SCHEMA)的场景。 MySQL通过RENAME TABLE语句修改表名。 输入示例
XX000 错误原因:创建分区索引时,获取分区表失败。 解决办法:请检查分区表的分区定义是否正确,如果不正确,请重建分区表。 GAUSS-01277: "Not enough index partition defined" SQLSTATE: 42P17 错误原因:分区表上已有索引不足。
character varying(64) 表名。 partition_name character varying(64) 分区的名称。 high_value text 范围分区的上边界,或列表分区的边界值集合。 前向兼容的保留字段,8.1.3集群版本新增pretty_high_value用于记录此信息。
已创建虚拟私有云和子网,参见创建虚拟私有云和子网。 步骤一:准备MySQL数据 购买RDS实例,参见表1配置关键参数,其他参数可保持默认,如需了解详情请参见RDS文档。 表1 RDS参数 参数项 取值 计费模式 按需计费 区域 华北-北京四 实例名称 rds-demo 数据库引擎 MySQL 数据库版本 5.7及以上
INTERVAL MySQL中使用interval表达式格式为INTERVAL N时间单位,DWS不支持,需要转换为INTERVAL 'N'时间单位。 输入示例 1 2 3 4 5 6 SELECT CURRENT_TIME() - INTERVAL 4 DAY; SELECT NOW()
案例:改写SQL排除剪枝干扰 分区表查询中表达式一般不是单纯的分区键,而是包含分区键的表达式的Filter条件,这种类型的Filter条件是不能用来剪枝的。 优化前 t_ddw_f10_op_cust_asset_mon为分区表,分区键为year_mth,此字段是由年月两个值拼接而成的整数。
character varying(64) 表名。 partition_name character varying(64) 分区的名称。 high_value text 范围分区的上边界,或列表分区的边界值集合。 前向兼容的保留字段,8.1.3集群版本新增pretty_high_value用于记录此信息。
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
DROP删除表 GaussDB(DWS)与MySQL都支持使用DROP语句删除表,但GaussDB(DWS)不支持在DROP语句中使用RESTRICT | CASCADE关键字。DSC工具迁移时会将上述关键字移除。 输入示例 1 2 3 4 5 6 7 CREATE TABLE IF
事务管理 TRANSACTION DSC工具在迁移MySQL事务处理语句时会根据GaussDB(DWS)特性进行相应适配。 输入示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ##该声明仅适用于会话中执行的下一个单个事务 SET
GAUSS-02642: "fail to get partition oid, because range partition index is overflow." SQLSTATE: XX000 错误原因:获取分区OID失败,分区下标越界。 解决办法:检查分区表定义和查询语句。 GAUSS-02643:
BLOCK_SIZE 在ADB中,指定列式存储中每个block存储的Value的个数,也是最小的IO单元。GaussDB(DWS)不支持该属性修改表定义信息,DSC迁移时会将该关键字删除。 输入示例 1 2 3 4 5 6 7 DROP TABLE IF EXISTS exists
ROW_FORMAT ROW_FORMAT定义了行存储的物理形式。ROW_FORMAT的选择与存储引擎有关,如果在创建表的时候选择了存储引擎不相关的ROW_FORMAT,则使用默认的ROW_FORMAT创建表。当ROW_FORMAT取值为DEFAULT,DSC迁移为SET NOC