更新时间: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操作谨慎,操作前考虑数据备份。

相关文档