温正湖
2019-12-19 16:02:23
daisyplay 提问:【为什么我们要在几乎所有表里添加created_at 和 update_at 字段?】
自从接触数据库开始,我就看到几乎所有人都会在表里添加创建时间和更新时间这两个字段,在某些对时间敏感的记录中这当然很必要。但是,我不明白的是为什么大家要费时间费精力在所有的表里添加这两个字段,如果是让数据库管理系统和orm自动添加也还好,仅仅是在表设计的时候添加两个字段,但是很多软件中会在逻辑代码里插入这两个字段。令我疑惑的是,几乎我接触到的程序都只是写入这两个字段,却没有见过这两个字段具体发挥作用。那么,是什么原因让大家养成了这样的习惯?或者说,在所有的表里都添加这两个字段是出于什么考虑?这样的习惯带来的回报真的符合它的投入吗?
看字段的名称就大概知道,这两个字段是跟业务逻辑有关系的。所以不可能是“几乎所有表”都有。如果是为了跟踪对记录的创建和修改,那么光这两个字段也是不够的。比如一个用户表,update_at只能跟踪后一次修改用户信息的时间。一般都还需要另一个表来发挥时间线的作用,已日志的形式记录每次用户修改操作,以及操作的内容
展开
分享好友
分享这个小栈给你的朋友们,一起进步吧。
数据库内核开发
创建时间:2019-12-11 16:43:06
分享
网易数据库内核技术专家
8年多数据库和存储系统开发经验,《MySQL内核:InnoDB存储引擎 卷1》作者之一,申请技术专利10+,已授权5+。曾主导了网易公有云RDS、MongoDB等数据库云服务建设
现负责网易MySQL分支InnoSQL开发和维护。专注于数据库内核技术和分布式系统架构,擅长分析解决疑难问题。
展开
订阅须知
• 所有用户可根据关注领域订阅专区或所有专区
• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询
• 专区发布评论属默认订阅所评论专区(除付费小栈外)
- 热门小栈
- 新小栈
- 更多