MySQL建表时预先多建几个字段是不是比后续新增字段好?

譬如感觉以后可能要添加字段
就预先建两个varchar和int字段
命名分别为var1,var2,var3,var4
后续要用到了就用alter modify
比不预先建字段,后续alter add要好吧?

阅读 2.6k
3 个回答

我个人是感觉能考虑清楚尽量考虑清楚,当然事实是很难一次考虑清楚,后面也可能有业务新增变更之类的
真有这种情况无可避免的话,我倾向于后续根据需求加..

真的建了一堆这样的字段,不管是代码里面还是 sql里面还是数据库里面都让人难以理解,后面的维护难上加难..尤其有些还没有备注..
试过在mybatis的xml里面一个个对比var1,var2的痛苦吗?...

mysql后续增加字段会锁表,当数据量越大越慢,预留字段可以防止此类情况产生。

各有各的理由

  1. 如果你能后期去 alter modify,说明你面临的环境比较宽松,同样也能去 alter add,这你也提到了
  2. 后续 alter add 如果默认值为空,并不会对性能造成影响,再大的数据量都不会,这是对另外一个答案的回复(mysql 存疑,oracle 已验证)
  3. 真正不建议使用前期建立字段的原因是:防止开发人员误用,很多开发人员并没有对可读性追求的目标,可能你的想法是好的,但是难免在执行的过程中出现问题,在修改的过程中不仅是对数据库字段的修改,代码同样也要面临改造
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题