检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
违反规则的影响: 同一个数据库用户运行所有业务不利于业务管控,异常场景无法针对特定用户做紧急隔离。 方案建议: 根据用途规划管理员、业务运行账号、运维账号等。 根据业务模块进行用户细分,以便通过用户进行业务和资源的划分和管控。 父主题: GaussDB(DWS)对象设计规范
INDEX对象设计规范(重点) 规则2.14 只创建必要的索引,创建索引必须选择合适的列和顺序 违反规范的影响: 冗余索引浪费空间,索引多影响入库效率。 组合索引中列顺序错误,影响查询效率。 最佳实践: 索引的使用需兼顾以下条件: 索引列必须是常用于过滤条件或JOIN关联条件的列。 索引列必须是DISTINCT值多的列。
DML查询:统计分析类查询 (group,join的数据量大的场景) DML增删改:UPDATE/DELETE多的场景、INSERT小批量插入的场景。 DML查询:高并发的点查询。 规则2.11 创建表时必须选择正确的分区策略 违反规范的影响: 分区的优点如下,如不做分区,其查询性能和数据治理效率会下降,数据量越大这种劣化越大。
层面的设计与开发。 术语定义 规则:数据库设计与开发时必须遵守的约定。 建议:数据库设计与开发时建议考虑的约定。 说明:对规则/建议进行的详细说明和解释。 总体开发设计规范 下表是GaussDB(DWS)开发过程中需遵循的开发设计规范全集列表,可以单击链接跳转到对应的规则下了解详细说明。
GaussDB(DWS)约束设计规则 DEFAULT和NULL约束 【建议】如果能够从业务层面补全字段值,则不建议使用DEFAULT约束,避免数据加载时产生不符合预期的结果。 【建议】给明确不存在NULL值的字段加上NOT NULL约束,优化器会在特定场景下对其进行自动优化。 【
DML查询:统计分析类查询 (group,join的数据量大的场景) DML增删改:UPDATE/DELETE多的场景、INSERT小批量插入的场景。 DML查询:高并发的点查询。 规则2.11 创建表时必须选择正确的分区策略 违反规范的影响: 分区的优点如下,如不做分区,其查询性能和数据治理效率会下降,数据量越大这种劣化越大。
应完全按照设计文档进行开发。 程序模块应做到高内聚低耦合。 应有正确、全面的故障对策。 程序编写应做到结构合理,条理清晰。 程序名称命名应按照统一的命名规则进行命名。 应充分考虑程序的运行效率,包括程序的执行效率和数据库的查询、存储效率,在保证应用的同时应使用效率高的处理方法。 程序注释应详细、正确、规范。
hema的owner,要访问Schema下的对象,需要同时给用户赋予Schema的usage权限和对象的相应权限。 【关注】如果要在Schema下创建对象,需要授予操作用户该Schema的CREATE权限。 【关注】Schema的owner默认拥有该Schema下对象的所有权限,
应完全按照设计文档进行开发。 程序模块应做到高内聚低耦合。 应有正确、全面的故障对策。 程序编写应做到结构合理,条理清晰。 程序名称命名应按照统一的命名规则进行命名。 应充分考虑程序的运行效率,包括程序的执行效率和数据库的查询、存储效率,在保证应用的同时应使用效率高的处理方法。 程序注释应详细、正确、规范。
GaussDB(DWS)视图和关联表设计规则 视图设计 【建议】除非视图之间存在强依赖关系,否则不建议视图嵌套。 【建议】视图定义中尽量避免排序操作。 关联表设计 【建议】表之间的关联字段应该尽量少。 【建议】关联字段的数据类型应该保持一致。 【建议】关联字段在命名上,尽可能体现出明显的关联关系。例如,采用同样名称来命名。
GaussDB(DWS)对象设计规范 DATABASE对象设计规范 USER对象设计规范 SCHEMA对象设计规范 TABLESPACE对象设计规范 TABLE对象设计规范(重点) INDEX对象设计规范(重点) VIEW对象设计规范 父主题: GaussDB(DWS)开发设计建议
GaussDB(DWS)对象设计规范 DATABASE对象设计规范 USER对象设计规范 SCHEMA对象设计规范 TABLESPACE对象设计规范 TABLE对象设计规范(重点) INDEX对象设计规范(重点) VIEW对象设计规范 父主题: GaussDB(DWS)开发设计规范
GaussDB(DWS)各对象设计详细规则 GaussDB(DWS)数据库对象命名规则 GaussDB(DWS)数据库对象设计规则 GaussDB(DWS) SQL编写规则 GaussDB(DWS) JDBC配置规则 自定义GaussDB(DWS)外部函数(pgSQL/Java)使用规则
统性能,以便比较不同的设计对表的加载性能、存储空间和查询性能的影响。 在进行调优表实践之前,需要先了解表结构设计相关的内容。因为进行数据库设计时,表设计上的一些关键项将严重影响后续整库的查询性能。表设计对数据存储也有影响:好的表设计能够减少I/O操作及最小化内存使用,进而提升查询性能。
GaussDB(DWS)各对象设计详细规则 GaussDB(DWS)数据库对象命名规则 GaussDB(DWS)数据库对象设计规则 GaussDB(DWS) JDBC配置规则 GaussDB(DWS) SQL编写规则 自定义GaussDB(DWS)外部函数(pgSQL/Java)使用规则
GaussDB(DWS)开发设计建议 GaussDB(DWS)总体开发设计规范 GaussDB(DWS)连接管理规范 GaussDB(DWS)对象设计规范 GaussDB(DWS) SQL开发规范 GaussDB(DWS)外表功能开发规范 GaussDB(DWS)存储过程开发规范
【建议】在不使用ETL工具、数据入库实时性要求又比较高的情况下,建议在开发应用程序时,使用GaussDB(DWS)JDBC驱动的CopyManager接口进行微批量导入。 CopyManager的使用方法请参见CopyManager。 父主题: GaussDB(DWS)各对象设计详细规则
【建议】在不使用ETL工具、数据入库实时性要求又比较高的情况下,建议在开发应用程序时,使用GaussDB(DWS)JDBC驱动的CopyManager接口进行微批量导入。 CopyManager的使用方法请参见CopyManager。 父主题: GaussDB(DWS)各对象设计详细规则
列的数据类型来查找用于这两种数据类型计算的函数,如果找不到对应的函数,则会相应的进行隐式数据类型转化,然后再根据转化后的数据类型查找用于转化后的数据类型计算的函数。 SELECT * FROM test WHERE timestamp_col = 20000101; 上述例子中,
命名中可以使用具有实际业务含义的英文词汇或汉语拼音,但规则应该在集群范围内保持一致。 变量名的关键是要具有描述性,即变量名称要有一定的意义,变量名要有前缀标明该变量的类型。 【建议】表对象的命名应该可以表征该表的重要特征。例如,在表对象命名时区分该表是普通表、临时表还是非日志表: