
# ClickHouse DDL规范
- CREATE/DROP/ALTER等DDL场景不要使用on cluster执行，集群比较繁忙时候容易导致DDL慢或卡死而执行不成功，需要登录每个ClickHouse节点执行。
- 为了保障DDL语句能最大概率执行成功，需要对DDL执行进行性能优化，具体可以调整参数：background_distributed_schedule_pool_size、background_pool_size、background_schedule_pool_size配置为CPU核数的2倍。
- DDL建议在业务低峰固定窗口时间执行，如在数据导入/数据修改高峰期，不允许执行DDL，需要DDL和业务数据变更错峰执行。
- 如果使用了DDL on cluster执行场景，ClickHouse单节点故障可能会导致故障节点执行不成功，需要应用单独在此ClickHouse节点修复后执行DDL。
 
