系统上线前,SQL脚本的九大坑( 三 )


当然有些开源的数据库管理平台 , 比如:Archery , 是有自带SQL审核和回滚的功能 。
8 忘了加索引我们在增加了字段之后 , 非常容易忽略的一件事是:加索引 。
特别是当前表数据量很大 , 而且增加的字段是另外一张表的id时 , 这种情况强烈建议增加索引 。
如果我们上线系统时 , 在SQL脚本中 , 忘了给该字段增加索引 。如果该id字段被大批量访问 , 全部走的全表扫描 , 可能会导致数据库性能直线下降 , 出现大量的超时问题 。
所以建议我们在开发的时候 , 如果要增加字段的话 , 要养成良好习惯 , 想一想这个字段需不需要建索引 。
如果不确定数据量的话 , 可以先到生产环境查询一下真实的用户数据 , 不然后续可能会引起比较大的生产事故 。
9 字段改名对于生产环境的表字段 , 通常情况下 , 我们不允许修改名称 。
如果你在发布pre环境时 , 通过SQL脚本把某张表的某个字段名称修改了 , pre环境代码使用了新的名称 , 系统没有问题 。
但prod环境还是使用老的名称 , 所有使用该名称的sql语句 , 在代码执行过程中都会报错 。
因此 , 禁止在生产环境通过SQL脚本修改字段名称 。
当然系统上线时除了SQL脚本的这些坑之外 , 还有系统发版失败 , 代码合错分支 , mq消息被pre消费了 , 无法回滚等等 , 还有很多问题 。

【系统上线前,SQL脚本的九大坑】


推荐阅读