检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
表设计最佳实践 选择存储模型 使用分区表 选择数据类型 父主题: 最佳实践
表设计最佳实践 选择存储模型 选择分布方式 选择分布列 使用分区表 选择数据类型 查看表所在节点 父主题: 最佳实践
唯一约束 【关注】行存表支持唯一约束。 【建议】从命名上明确标识唯一约束,例如,命名为“UNI+构成字段”。 主键约束 【关注】行存表支持主键约束。 【建议】从命名上明确标识主键约束,例如,将主键约束命名为 “PK+字段名”。 检查约束 【关注】行存表支持检查约束。 【建议】从
从命名上明确标识唯一约束,例如,命名为“UNI+构成字段”。 主键约束 从命名上明确标识主键约束,例如,将主键约束命名为 “PK+字段名”。 检查约束 从命名上明确标识检查约束,例如,将检查约束命名为 “CK+字段名”。 父主题: 数据库对象设计
从命名上明确标识唯一约束,例如,命名为“UNI+字段名”。 主键约束 从命名上明确标识主键约束,例如,将主键约束命名为“PK+字段名”。 检查约束 从命名上明确标识检查约束,例如,将检查约束命名为“CK+字段名”。 父主题: 数据库对象设计
从命名上明确标识唯一约束,例如,命名为“UNI+构成字段”。 主键约束 从命名上明确标识主键约束,例如,将主键约束命名为“PK+字段名”。 检查约束 从命名上明确标识检查约束,例如,将检查约束命名为“CK+字段名”。 父主题: 数据库对象设计
唯一约束 【关注】行存表支持唯一约束。 【建议】从命名上明确标识唯一约束,例如,命名为“UNI+构成字段”。 主键约束 【关注】行存表支持主键约束。 【建议】从命名上明确标识主键约束,例如,将主键约束命名为“PK+字段名”。 检查约束 【关注】行存表支持检查约束。 【建议】从
从命名上明确标识唯一约束,例如,命名为“UNI+字段名”。 主键约束 从命名上明确标识主键约束,例如,将主键约束命名为 “PK+字段名”。 检查约束 从命名上明确标识检查约束,例如,将检查约束命名为 “CK+字段名”。 父主题: 数据库对象设计
× 分区表的不同业务最终都是作用于目标分区上,数据库会给分区表和目标分区施加不同级别的表锁+分区锁,来控制并发行为。下表给出了不同业务的锁粒度控制。其中数字1~8代表上表给出的8种级别常规锁。 表2 分区表业务锁粒度 业务模型 一级分区表锁级别(表锁+分区锁) 二级分区表锁级别(表锁+一级分区锁+二级分区锁)
M-Compatibility中不支持该字段。 information_schema.tables create_time 在M-Compatibility下,此字段与MySQL行为表现有差异,对于创建视图的情形MySQL中该字段置null,M-Compatibility则显示实际的创建表时间。数据库自带的表,视图设置null。
Database和Schema设计 GaussDB中可以使用Database和Schema实现业务的隔离,区别在于Database的隔离更加彻底,各个Database之间共享资源极少,可实现连接隔离、权限隔离等,Database之间无法直接互访。Schema隔离的方式共用资源较多
23,最大值比MySQL小。 DEFAULT() 支持,存在差异 字段默认值为数组形式,GaussDB返回数组形式,MySQL不支持数组类型。 GaussDB字段是隐藏列(比如xmin、cmin),default函数返回空值。 GaussDB支持分区表、临时表、多表连接查询默认值。
Database和Schema设计 GaussDB中可以使用Database和Schema实现业务的隔离,区别在于Database的隔离更加彻底,各个Database之间共享资源极少,可实现连接隔离、权限隔离等,Database之间无法直接互访。Schema隔离的方式共用资源较多
操作符 GaussDB数据库兼容绝大多数MySQL的操作符,但存在部分差异。除特别说明外,MySQL兼容性MySQL模式中的操作符行为默认为GaussDB原生行为。 表1 操作符 MySQL数据库 GaussDB数据库 差异 安全等于(<=>) 支持 - [NOT] REGEXP
× 分区表的不同业务最终都是作用于目标分区上,数据库会给分区表和目标分区施加不同级别的表锁+分区锁,来控制并发行为。下表给出了不同业务的锁粒度控制。其中数字1~8代表上表给出的8种级别常规锁。 表2 分区表业务锁粒度 业务模型 一级分区表锁级别(表锁+分区锁) 二级分区表锁级别(表锁+一级分区锁+二级分区锁)
MySQL兼容性MySQL模式 数据类型 系统函数 操作符 字符集 排序规则 SQL 驱动
时)与MySQL 5.7数据库的兼容性对比信息。仅介绍503.0.0版本后新增的兼容性特性,特性的相关规格和约束建议在《开发指南》中查看。 GaussDB数据库在数据类型、SQL功能和数据库对象等基本功能上与MySQL数据库兼容。 由于GaussDB数据库与MySQL数据库在底层
个DN都保留了表的完整数据,造成数据的冗余。一般情况下只有较小的维度表才会定义为Replication表。 哈希(Hash)表将表中某一个或几个字段进行hash运算后,生成对应的hash值,根据DN实例与哈希值的映射关系获得该元组的目标存储位置。对于Hash分布表,在读/写数据时
GaussDB与MySQL的JDBC接口定义一致,均遵循业界规范,本章节主要介绍GaussDB数据库的MySQL兼容性B模式与MySQL数据库JDBC接口的行为差异。 获取结果集中的数据 ResultSet对象提供了丰富的方法,以获取结果集中的数据。获取数据常用的方法如表1所示,其他方法请参考JDK官方文档。
表达式 GaussDB数据库兼容绝大多数MySQL的表达式,但存在部分差异。如未列出,表达式行为默认为GaussDB原生行为。 表1 表达式 MySQL数据库 GaussDB数据库 用户自定义变量@var_name 部分支持 全局变量@@var_name 部分支持 父主题: MySQL兼容性B模式