检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
开发设计建议 开发设计建议概述 数据库对象命名 数据库对象设计 工具对接 SQL编写
开发设计建议概述 本开发设计建议约定数据库建模和数据库应用程序开发过程中,应当遵守的设计规范。依据这些规范进行建模,能够更好的契合GaussDB的分布式处理架构,输出更高效的业务SQL代码。 本开发设计建议中所陈述的“建议”和“关注”含义如下: 建议:用户应当遵守的设计规则。遵守
开发设计建议概述 开发设计建议约定数据库建模和数据库应用程序开发过程中,应当遵守的设计规范。依据这些规范进行建模,能够更好地契合GaussDB的分布式处理架构,输出更高效的业务SQL代码。 开发设计建议中所陈述的“建议”和“关注”含义如下: 建议:用户应当遵守的设计规则。遵守这些
开发设计建议概述 开发设计建议约定数据库建模和数据库应用程序开发过程中,应当遵守的设计规则。根据这些规则进行建模,能够更好地契合GaussDB的处理架构,输出更高效的业务SQL代码。 开发设计建议中所陈述的“建议”和“关注”含义如下: 建议:用户应当遵守的设计规则。遵守这些规则,
开发设计建议 开发设计建议概述 数据库对象命名 数据库对象设计 工具对接 SQL编写
开发设计建议 开发设计建议概述 数据库对象命名 数据库对象设计 工具对接 SQL编写
开发设计建议 开发设计建议概述 数据库对象命名 数据库对象设计 工具对接 SQL编写
常规锁设计 分区表通过表锁+分区锁两重设计,在表和分区上分别施加8个不同级别的常规锁,来保证DQL、DML、DDL并发过程中的合理行为控制。下表给出了不同级别锁的互斥行为,标记为√的两种常规锁互不阻塞,可以并行。 表1 常规锁行为 - ACCESS_SHARE ROW_SHARE
常规锁设计 分区表通过表锁+分区锁两重设计,在表和分区上分别施加8个不同级别的常规锁,来保证DQL、DML、DDL并发过程中的合理行为控制。下表给出了不同级别锁的互斥行为,标记为√的两种常规锁互不阻塞,可以并行。 表1 常规锁行为 - ACCESS_SHARE ROW_SHARE
开发设计建议 开发设计建议概述 数据库对象命名 数据库对象设计 工具对接 SQL编写
表设计最佳实践 使用分区表 选择数据类型 父主题: 最佳实践
表设计最佳实践 选择分布方式 选择分布列 使用分区表 选择数据类型 查看表所在节点 父主题: 最佳实践
表设计最佳实践 选择存储模型 使用分区表 选择数据类型 父主题: 最佳实践
表设计最佳实践 选择存储模型 选择分布方式 选择分布列 使用分区表 选择数据类型 查看表所在节点 父主题: 最佳实践
工具对接 JDBC配置 父主题: 开发设计建议
工具对接 JDBC配置 父主题: 开发设计建议
避免使用保留或者非保留关键字命名数据库对象。 可以使用select * from pg_get_keywords()查询GaussDB的关键字,或者在关键字章节中查看。 避免使用双引号括起来的字符串来定义数据库对象名称,除非需要限制数据库对象名称的大小写。数据库对象名称大小写敏感会使定位问题难度增加。
避免使用保留或者非保留关键字命名数据库对象。 可以使用select * from pg_get_keywords()查询GaussDB的关键字,或者在关键字章节中查看。 避免使用双引号括起来的字符串来定义数据库对象名称,除非需要限制数据库对象名称的大小写。数据库对象名称大小写敏感会使定位问题难度增加。
通过JDBC连接数据库时,会设置extra_float_digits=3,gsql中设置为extra_float_digits=0,可能会造成同一条数据在JDBC显示和gsql显示的精度不同。 对于精度敏感的场景,建议使用numeric类型。 通过JDBC连接数据库时,应该保证以下三个时区设置一致:
compatibility参数设置为TD。 查询操作 除ETL程序外,应该尽量避免向客户端返回大量结果集的操作。如果结果集过大,应考虑业务设计是否合理。 使用事务方式执行DDL和DML操作。例如,TRUNCATE TABLE、UPDATE TABLE、DELETE TABLE、DROP