表的最后修改时间UPDATE_TIME的设计

 每个表的update_time,一般代表的是这条数据本身的修改时间。但是update_time其实在很多场景下有特殊的用法,在这里结合多年的业务和经验,介绍几种常见的关于UPDATE_TIME的设计 。

(1)数据在复制环境中的时间:REP_TIME

在现在的互联网产品中,往往不止一个数据库。某个数据库会在多个机房有备份,或者同一个机房有多个备份。实现这种主从复制的技术有很多,有些技术往往需要解决复制环境中数据冲突的问题。此时数据变动的时间就是解决冲突的常见手法。这个数据变动的时间,和业务无关,只要数据实际情况发生了一次UPDATE修改,那么这个时间就需要变动。无论这个修改是有实际意义的,还是说某个开发就是做了一次无效的UPDATE操作。

在ORACLE数据库中,这个字段一般使用TIMESTAMP类型,保证这个修改时间是通过触发器来实现的,也就是只要发生UPDATE修改,这个时间会通过触发器修改,无需程序管理。

所以,在复制环境中, 参与复制所有的表都需要有这个REP_TIME的字段,以及维护这个字段的触发器。虽然这个字段可以代表数据的修改时间,但是通常这个字段和业务的紧密度不相关,仅仅表现的数据修改本身的时间。

(2)网站客户的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值