更新时间:2025-03-13 GMT+08:00

DDL

  • 【规则】禁止在业务高峰期执行DDL操作。若必须执行DDL,应控制DDL的执行频率(每秒不超过1次DDL操作)。
    1. DDL对象的锁使用全局常规锁表进行管理。DDL操作会对常规锁表的访问形成竞争,导致大量线程在LockMgrLock等待事件中被阻塞,存在线程池资源耗尽的风险,可能会引发主备切换或触发GaussDB线程池抗过载机制,从而影响业务成功率。
    2. DDL操作需要失效对象的系统表缓存,以便其他并发线程能够感知DDL对象的变化。且其他线程需要处理失效消息,这会增加线程处理压力,存在CPU升高的风险。
    3. DDL日志的回放速度远慢于DML日志的回放。频繁DDL操作可能导致主备时延增大,引发流控。因此,建议在业务高峰期控制DDL频率,避免触发流控。
  • 【规则】禁止在同一个事务内执行DDL与其他业务操作,DDL应在独立事务内执行。