当前位置: 代码迷 >> Sql Server >> 关于timestamp列,怎的知道某一行或者某些行有进行过更新
  详细解决方案

关于timestamp列,怎的知道某一行或者某些行有进行过更新

热度:65   发布时间:2016-04-24 09:04:32.0
关于timestamp列,怎样知道某一行或者某些行有进行过更新?
案例:
  某个数据库X中有这样一个表A 结构如下:

A
(
code nvarchar(50) not null, 
name nvarchar(50) not null,
updateTime timestamp 
)


这个表是个物料基础信息表,我想将这个表里面的code,name信息同步到另一个数据库Y中的表B中。
现在的做法是在程序中点击一个“同步”按钮,将X库中的A表的数据一条一条读出来与B表比较,
如果B表存在相同的记录则跳过,如果不存在则插入,如果代码相同,而名称不同则修改B表的记录,
使记录与A表一样。
因为A表的信息比较多,第一次同步花时间比较长可以接受。但A表修改或者新增了的记录后,再点“同步”按钮,
还是使用上面的方法,发现花的时间还是很多,无法接受。所以想问下有没有比较优化的方案解决同步时间长的问题?
注意:A 表中的 updateTime字段是 时间戳类型的。


------解决思路----------------------
设置一个最大时间戳的表,或者每次比对的时候去一下最大的时间戳;然后再去过滤。
------解决思路----------------------
你可以在同步后,记录本次的 最大时间戳,供下次过滤
  相关解决方案