检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
统性能,以便比较不同的设计对表的加载性能、存储空间和查询性能的影响。 在进行调优表实践之前,需要先了解表结构设计相关的内容。因为进行数据库设计时,表设计上的一些关键项将严重影响后续整库的查询性能。表设计对数据存储也有影响:好的表设计能够减少I/O操作及最小化内存使用,进而提升查询性能。
支持的并发度。通过对关联条件和分组条件的仔细设计,能够尽可能的减少不必要的数据shuffle。 选择存储方案 【建议】表的存储类型是表定义设计的第一步,用户业务类型是决定表的存储类型的主要因素,表存储类型的选择依据请参考表1。 表1 表的存储类型及场景 存储模型 优点 缺点 适用场景
CHANGE修改列 CHECK约束 DROP删除表 LIKE 表克隆 MODIFY修改列 TRUNCATE 删除表 ROUNDROBIN表 RENAME 重命名表名 设置与清除列默认值 字段名重命名 行列存压缩 添加与删除列 父主题: MySQL语法迁移
MySQL配置 设置MySQL配置参数可在迁移MySQL数据库脚本时自定义迁移工具的行为。 打开config文件夹中的features-mysql.properties文件,并根据实际需要设置features-mysql.properties文件中的配置参数中的参数。 表1 features-mysql
GaussDB(DWS)数据库对象设计规则 GaussDB(DWS) Database和Schema设计规则 GaussDB(DWS)表设计规则 GaussDB(DWS)字段设计规则 GaussDB(DWS)约束设计规则 GaussDB(DWS)视图和关联表设计规则 父主题: GaussDB(DWS)各对象设计详细规则
支持的并发度。通过对关联条件和分组条件的仔细设计,能够尽可能的减少不必要的数据shuffle。 选择存储方案 【建议】表的存储类型是表定义设计的第一步,用户业务类型是决定表的存储类型的主要因素,表存储类型的选择依据请参考表1。 表1 表的存储类型及场景 存储类型 适用场景 行存
规则2.3 创建DATABASE时必须选择正确的数据库兼容模式 违反规则的影响: 选错数据库兼容模式,会导致从其他厂商的数据库迁移到GaussDB(DWS)后出现行为不一致问题,且不支持直接修改数据库兼容模式,需重新建库重新导数 方案建议: 根据源库端数据库类型,在GaussD
MySQL SQL迁移 工具支持从MySQL到GaussDB(DWS)的迁移,包括模式、DML、查询、系统函数、PL/SQL等。 在LINUX中执行MySQL迁移 在Linux中执行以下命令开始迁移。用户需指定源数据库、输入和输出文件夹路径和日志路径;应用程序语言类型是SQL。
GaussDB(DWS)视图和关联表设计规则 视图设计 【建议】除非视图之间存在强依赖关系,否则不建议视图嵌套。 【建议】视图定义中尽量避免排序操作。 关联表设计 【建议】表之间的关联字段应该尽量少。 【建议】关联字段的数据类型应该保持一致。 【建议】关联字段在命名上,尽可能体现
GaussDB(DWS)视图和关联表设计规则 视图设计 【建议】除非视图之间存在强依赖关系,否则不建议视图嵌套。 【建议】视图定义中尽量避免排序操作。 关联表设计 【建议】表之间的关联字段应该尽量少。 【建议】关联字段的数据类型应该保持一致。 【建议】关联字段在命名上,尽可能体现
规则2.3 创建DATABASE时必须选择正确的数据库兼容模式 违反规则的影响: 选错数据库兼容模式,会导致从其他厂商的数据库迁移到GaussDB(DWS)后出现行为不一致问题,且不支持直接修改数据库兼容模式,需重新建库重新导数 方案建议: 根据源库端数据库类型,在GaussD
MySQL语法迁移 支持的关键词和特性 数据类型 函数和表达式 表(可选参数、操作) 索引 注释 数据库 数据操作语句(DML) 事务管理和数据库管理 父主题: DSC
LIKE 表克隆 MySQL数据库中,可以使用CREATE TABLE .. LIKE ..方式克隆旧表结构创建新表。GaussDB(DWS)也支持这种建表方式。DSC工具迁移时会添加额外的表属性信息。 输入示例 1 2 3 4 5 6 7 8 CREATE TABLE IF NOT
DROP删除表 GaussDB(DWS)与MySQL都支持使用DROP语句删除表,但GaussDB(DWS)不支持在DROP语句中使用RESTRICT | CASCADE关键字。DSC工具迁移时会将上述关键字移除。 输入示例 1 2 3 4 5 6 7 CREATE TABLE IF
TRUNCATE 删除表 MySQL在使用TRUNCATE语句删除表数据时可以省略“TABLE”关键字,GaussDB(DWS)不支持这种用法。此外,DSC工具在做迁移TRUNCATE语句时会添加“CONTINUE IDENTITY RESTRICT”关键字。 输入示例 1 2 TRUNCATE
COMMENT 在MySQL中,COMMENT对表进行注释。GaussDB(DWS)支持该属性修改表定义信息,DSC工具迁移时会添加额外的表属性信息。 输入示例 1 2 3 4 5 6 7 8 CREATE TABLE `public`.`runoob_alter_test`(
GaussDB(DWS) Database和Schema设计规则 GaussDB(DWS)中可以使用Database和Schema实现业务的隔离,区别在于Database的隔离更加彻底,各个Database之间共享资源极少,可实现连接隔离、权限隔离等,Database之间无法直接互访。S
ROUNDROBIN表 GaussDB(DWS)支持建立roundrobin表,根据实际需要设置表1中的参数table.type进行配置。设置table.type=ROUND-ROBIN。 输入示例 1 2 3 4 5 CREATE TABLE charge_snapshot (
RENAME 重命名表名 MySQL重命名表名的语句与GaussDB(DWS)有一些差异。DSC工具迁移时会根据GaussDB(DWS)的特性进行相应适配。 工具暂不支持原表名附有DATABASE(SCHEMA)的场景。 MySQL通过RENAME TABLE语句修改表名。 输入示例 1
COLLATE 在MySQL中,COLLATE表示默认的数据库排序规则。GaussDB(DWS)不支持该属性修改表定义信息,DSC迁移时会将该关键字删除。 输入示例 1 2 3 4 5 6 7 8 CREATE TABLE `public`.`runoob_tbl_test`(