检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
SQL开发规范 DDL操作规范 INSERT操作规范 UPDATE&DELETE操作规范 SELECT操作规范 父主题: GaussDB(DWS)开发设计建议
已配置需要审计的审计项。各审计项及其开启办法,请参考设置数据库审计日志。 数据库正常运行,并且对数据库执行了一系列增、删、改、查操作,保证在查询时段内有审计结果产生。 数据库各个节点审计日志单独记录。 只有拥有AUDITADMIN属性的用户才可以查看审计记录。 设置数据库审计日志 登录GaussDB(DWS)管理控制台。
违反规范的影响: 复杂和嵌套的存储过程维护成本高,故障定位难度大,恢复耗时长。 方案建议: 不使用存储过程或只使用一层存储过程,不嵌套。 开发存储过程设计对应的日志表,将关键步骤前后的信息记录到日志表中,操作步骤如下。 保存并查看日志操作步骤 创建日志表。 1 2 3 4 5 6 7 8 9
SQL开发规范 DDL操作规范 INSERT操作规范 UPDATE&DELETE操作规范 SELECT操作规范 父主题: GaussDB(DWS)开发设计规范
ANALYZE语句可收集数据库中与表内容相关的统计信息,统计结果存储在系统表PG_STATISTIC中。查询优化器会使用这些统计数据,以生成最有效的执行计划。 建议在执行了大批量插入/删除操作后,例行对表或全库执行ANALYZE语句更新统计信息。 父主题: 基于表结构设计和调优提升GaussDB(DWS)查询性能
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开发规范
针对列存表并发执行UPDATE/DELETE,导致行锁阻塞和分布式死锁风险,导致业务报错和性能下降。 方案建议: 频繁执行UPDATE/DELETE操作的表设计为行存表。 按主键或分布列进行分组UPDATE/DELETE,组间并行组内串行。 父主题: GaussDB(DWS) SQL开发规范
禁止针对普通列存表进行实时INSERT操作 违反规范的影响: 针对普通列存表实时小批量入库会导致小CU膨胀严重,影响存储空间和查询性能。 方案建议: 实时INSERT场景评估单次入库数据量和数据总量,总量小的场景可以改为行存表。 实时INSERT场景前端攒批,保证单次、单表、单分区、单DN入库数据量接近6W,建议最低不少于5K。
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操作,造成业务等锁阻塞。
使用前必读 文档面向的读者对象 数据库开发指南重点面向数据库的设计者、应用程序开发人员或DBA,提供设计、构建、查询和维护数据仓库所需的信息。 作为数据库管理员和应用程序开发人员,至少需要了解以下知识: 操作系统知识。这是一切的基础。 SQL语法。这是操作数据库的必备能力。 前置条件 使用本指南前,需要完成以下任务。
禁止针对普通列存表进行实时INSERT操作 违反规范的影响: 针对普通列存表实时小批量入库会导致小CU膨胀严重,影响存储空间和查询性能。 方案建议: 实时INSERT场景评估单次入库数据量和数据总量,总量小的场景可以改为行存表。 实时INSERT场景前端攒批,保证单次、单表、单分区、单DN入库数据量接近6W,建议最低不少于5K。
使用前必读 文档面向的读者对象 数据库开发指南重点面向数据库的设计者、应用程序开发人员或DBA,提供设计、构建、查询和维护数据仓库所需的信息。 作为数据库管理员和应用程序开发人员,至少需要了解以下知识: 操作系统知识。这是一切的基础。 SQL语法。这是操作数据库的必备能力。 前置条件 使用本指南前,需要完成以下任务。
使用前必读 文档面向的读者对象 数据库开发指南重点面向数据库的设计者、应用程序开发人员或DBA,提供设计、构建、查询和维护数据仓库所需的信息。 作为数据库管理员和应用程序开发人员,至少需要了解以下知识: 操作系统知识。这是一切的基础。 SQL语法。这是操作数据库的必备能力。 前置条件 使用本指南前,需要完成以下任务。
56ms 27472.815ms 如果对表设计后的性能还有更高期望,可以运行EXPLAIN PERFORMANCE以查看执行计划进行调优。 关于执行计划的更详细介绍及查询优化请参考SQL执行计划及优化查询性能概述 。 父主题: 基于表结构设计和调优提升GaussDB(DWS)查询性能
更多开发设计规范参见总体开发设计规范。 事务的概念 事务指一个操作,由多个步骤组成,要么全部成功,要么全部失败。 数据库事务(TRANSACTION)是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成(通常由事务开始与事务结束之间执行的全部数据库操作组成)
更多开发设计规范参见总体开发设计规范。 事务的概念 事务指一个操作,由多个步骤组成,要么全部成功,要么全部失败。 数据库事务(TRANSACTION)是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成(通常由事务开始与事务结束之间执行的全部数据库操作组成)
更多开发设计规范参见总体开发设计规范。 事务的概念 事务指一个操作,由多个步骤组成,要么全部成功,要么全部失败。 数据库事务(TRANSACTION)是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成(通常由事务开始与事务结束之间执行的全部数据库操作组成)
05ms - 查询2 27952.36ms - 查询3 17721.15ms - 总执行时间 60225.56ms - 父主题: 基于表结构设计和调优提升GaussDB(DWS)查询性能