检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
SQL开发规范 DDL操作规范 INSERT操作规范 UPDATE&DELETE操作规范 SELECT操作规范 父主题: GaussDB(DWS)开发设计规范
违反规范的影响: 复杂和嵌套的存储过程维护成本高,故障定位难度大,恢复耗时长。 方案建议: 不使用存储过程或只使用一层存储过程,不嵌套。 开发存储过程设计对应的日志表,将关键步骤前后的信息记录到日志表中,操作步骤如下。 保存并查看日志操作步骤。 创建日志表。 1 2 3 4 5 6 7 8 9
违反规范的影响: 无明确终止条件,递归陷入死循环,无法完成。 重复数据过多,递归产生大量重复数据,占用大量资源。 方案建议: 根据业务表数据量和数据特征设计合理的递归终止条件。 建议3.16 访问对象(表,函数等)时带上SCHEMA名称 违反规范的影响: 不指定SCHEMA名称前缀,实际会根据
decimal(7,2) , ss_net_paid decimal(7,2) , ss_net_paid_inc_tax decimal(7,2)
算和限制,并适当调大max_active_statements和max_connections值。 父主题: GaussDB(DWS)开发设计建议
ANALYZE语句可收集数据库中与表内容相关的统计信息,统计结果存储在系统表PG_STATISTIC中。查询优化器会使用这些统计数据,以生成最有效的执行计划。 建议在执行了大批量插入/删除操作后,例行对表或全库执行ANALYZE语句更新统计信息。 父主题: 基于表结构设计和调优提升GaussDB(DWS)查询性能
针对列存表并发执行UPDATE/DELETE,导致行锁阻塞和分布式死锁风险,导致业务报错和性能下降。 方案建议: 频繁执行UPDATE/DELETE操作的表需设计为行存表。 按主键或分布列进行分组UPDATE/DELETE,组间并行,组内串行。 父主题: GaussDB(DWS) SQL开发规范
使用前必读 文档面向的读者对象 数据库开发指南重点面向数据库的设计者、应用程序开发人员或DBA,提供设计、构建、查询和维护数据仓库所需的信息。 作为数据库管理员和应用程序开发人员,至少需要了解以下知识: 操作系统知识。这是一切的基础。 SQL语法。这是操作数据库的必备能力。 前置条件 使用本指南前,需要完成以下任务。
使用前必读 文档面向的读者对象 数据库开发指南重点面向数据库的设计者、应用程序开发人员或DBA,提供设计、构建、查询和维护数据仓库所需的信息。 作为数据库管理员和应用程序开发人员,至少需要了解以下知识: 操作系统知识。这是一切的基础。 SQL语法。这是操作数据库的必备能力。 前置条件 使用本指南前,需要完成以下任务。
算和限制,并适当调大max_active_statements和max_connections值。 父主题: GaussDB(DWS)开发设计规范
DDL操作规范 建议3.1 DDL操作(CREATE除外)避免在业务高峰期和长事务中执行 违反规范的影响: DDL操作普遍持锁级别高,如ALTER、DROP、TRUNCATE、REINDEX、VACUUM FULL等,执行时会造成业务等锁阻塞。 高峰期执行持锁级别高的DDL操作,造成业务等锁阻塞。
DDL操作规范 建议3.1 DDL操作(CREATE除外)避免在业务高峰期和长事务中执行 违反规范的影响: DDL操作普遍持锁级别高,如ALTER、DROP、TRUNCATE、REINDEX、VACUUM FULL等,执行时会造成业务等锁阻塞。 高峰期执行持锁级别高的DDL操作,造成业务等锁阻塞。
decimal(7,2) , ss_net_paid decimal(7,2) , ss_net_paid_inc_tax decimal(7,2)
针对列存表并发执行UPDATE/DELETE,导致行锁阻塞和分布式死锁风险,导致业务报错和性能下降。 方案建议: 频繁执行UPDATE/DELETE操作的表需设计为行存表。 按主键或分布列进行分组UPDATE/DELETE,组间并行,组内串行。 父主题: GaussDB(DWS) SQL开发规范
禁止针对普通列存表进行实时INSERT操作 违反规范的影响: 针对普通列存表实时小批量入库会导致小CU膨胀严重,影响存储空间和查询性能。 方案建议: 实时INSERT场景评估单次入库数据量和数据总量,总量小的场景可以改为行存表。 实时INSERT场景前端攒批,保证单次、单表、单分区、单DN入库数据量接近6W,建议最低不少于5K。
56ms 27472.815ms 如果对表设计后的性能还有更高期望,可以运行EXPLAIN PERFORMANCE以查看执行计划进行调优。 关于执行计划的更详细介绍及查询优化请参考SQL执行计划及优化查询性能概述 。 父主题: 基于表结构设计和调优提升GaussDB(DWS)查询性能
禁止针对普通列存表进行实时INSERT操作 违反规范的影响: 针对普通列存表实时小批量入库会导致小CU膨胀严重,影响存储空间和查询性能。 方案建议: 实时INSERT场景评估单次入库数据量和数据总量,总量小的场景可以改为行存表。 实时INSERT场景前端攒批,保证单次、单表、单分区、单DN入库数据量接近6W,建议最低不少于5K。
更多开发设计规范参见总体开发设计规范。 事务的概念 事务指一个操作,由多个步骤组成,要么全部成功,要么全部失败。 数据库事务(TRANSACTION)是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成(通常由事务开始与事务结束之间执行的全部数据库操作组成)
更多开发设计规范参见总体开发设计规范。 事务的概念 事务指一个操作,由多个步骤组成,要么全部成功,要么全部失败。 数据库事务(TRANSACTION)是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成(通常由事务开始与事务结束之间执行的全部数据库操作组成)
)的数据文件。 通常在数据库的安全防护措施里面,可以采取一些消减措施来帮助保护数据安全。例如,设计一个安全系统、加密机密资产以及在数据库服务器的周围构建防火墙。 但是,如果遇到物理介质(如硬盘)被黑客或者内部人员盗取的情况,恶意破坏方只需还原或附加数据库即可浏览用户数据。 有一种