在DB做变更发布的各类场景当中,通过SQL更改DB数据内容,是最为常见的场景。既然是最为常见的场景,那么可能产生线上问题的概率也就越大。本篇文章就来探讨一下,要尽量减少SQL发布产生线上问题的可能性,需要采取什么样的手段。
首先是针对SQL语句本身而言,需要做积累检查。假设用的是MySQL,那么SQL类型大体可能分为以下几种:
- 新增类:CREATE表/列/索引、INSERT数据
- 更改类:UPDATE数据
- 删除类:DELETE数据、DROP表/列/索引(包含替换场景)、TRUNCATE
针对这些SQL类型,其产生线上风险的概率也不尽相同,需要分别进行治理。