首页 新闻 会员 周边

sql server中同时更新数据的问题

0
悬赏园豆:20 [待解决问题]

在一张产品表(Product)中有200万数据,表中包含下列几列:id,name,loginid,content,inserttime,modifytime。数据格式类似下面的样式:

id name  loginid content  inserttime    modifytime
1 name1,张三,  content1, 2012-12-12 12:12:12, 2012-12-12 12:12:12
2 name2,张三,  content2, 2012-12-12 12:12:12, 2012-12-12 12:12:12
3 name3,张三,  content3, 2012-12-12 12:12:12, 2012-12-12 12:12:12
4 name4,李四,  content4, 2012-12-12 12:12:12, 2012-12-12 12:12:12
5 name5,李四,  content5, 2012-12-12 12:12:12, 2012-12-12 12:12:12
6 name6,王二,  content6, 2012-12-12 12:12:12, 2012-12-12 12:12:12
7 name7,王二,  content7, 2012-12-12 12:12:12, 2012-12-12 12:12:12

现在有一个这样的需求:多个用户同时更新自己的数据,好比张三、李四、王二同时更新自己的修改时间。

update Product set modifytime=getdate() where loginid='张三'; 

update Product set modifytime=getdate() where loginid='李四'; 

update Product set modifytime=getdate() where loginid='王二'; 

可以在查询分析器里用类似下面这样的sql语句来模拟多个用户同时运行:

  第一个查询分析器窗口:

  Begin Transaction
      update Product set modifytime=getdate() where loginid='张三'; 
      waitfor delay '00:00:20'
      commit transaction

  第二个查询分析器窗口:
      Begin Transaction
      update Product set modifytime=getdate() where loginid='李四'; 
      waitfor delay '00:00:20'
      commit transaction
  第三个查询分析器窗口:
      Begin Transaction
      update Product set modifytime=getdate() where loginid='王二'; 
      waitfor delay '00:00:20'
      commit transaction

  实际情况中,每个用户的数据在1万左右,有的更多,可能2万甚至10万,少的也有几百或者几千。

请高人帮我解答下。

番茄的梦想的主页 番茄的梦想 | 初学一级 | 园豆:169
提问于:2012-12-16 11:40
< >
分享
所有回答(2)
0

难道不是每次都修改一个用户的一项内容?而是这个用户下的全部?

chenping2008 | 园豆:9836 (大侠五级) | 2012-12-16 12:37

每次修改这个用户下的全部

支持(0) 反对(0) 番茄的梦想 | 园豆:169 (初学一级) | 2012-12-16 14:13

@剑飘红: 看实际分析一下,看看会不会太慢

支持(0) 反对(0) chenping2008 | 园豆:9836 (大侠五级) | 2012-12-16 15:29
0

你不觉得太慢吗,可以加载多一点

若雪封尘 | 园豆:463 (菜鸟二级) | 2012-12-17 11:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册