文档首页/
数据仓库服务 GaussDB(DWS)/
开发指南/
标准数仓开发指南(8.3.0.x)/
GaussDB(DWS)开发设计建议/
GaussDB(DWS) SQL开发规范/
DDL操作规范
更新时间:2024-11-30 GMT+08:00
DDL操作规范
建议3.1 DDL操作(CREATE除外)避免在业务高峰期和长事务中执行
违反规范的影响:
DDL操作普遍持锁级别高,如ALTER、DROP、TRUNCATE、REINDEX、VACUUM FULL等,执行时会造成业务等锁阻塞。
- 高峰期执行持锁级别高的DDL操作,造成业务等锁阻塞。
- 长事务中执行持锁级别高的DDL操作,长时间持锁或等锁,均造成业务等锁阻塞。
方案建议:
- 根据业务周期,选择低峰期或运维时间窗执行DDL操作,明确DDL执行环境和耗时,避免锁阻塞。
规则3.2 DROP删除对象操作必须明确删除对象范围
违反规范的影响:
DROP对象操作(如DATABASE、USER/ROLE、SCHEMA、TABLE、VIEW等对象)存在数据丢失风险,尤其含带CASCADE级联删除场景,会将关联的对象一并删除。
- DROP DATABASE:整个DATABASE中所有对象被删除。
- DROP USER:USER对象、USER所拥有的SCHEMA、TABLE等对象均被删除。
- DROP SCHEMA:整个SCHEMA中的所有对象被删除。
- DROP TABLE:TABLE对象,依赖TABLE的INDEX、VIEW等对象均被删除。
方案建议:
- DROP操作谨慎,操作前考虑数据备份。
父主题: GaussDB(DWS) SQL开发规范