为了账号安全,请及时绑定邮箱和手机立即绑定

多线程更新数据表问题...

多线程更新数据表问题...

holdtom 2018-10-25 05:27:29
某数据库表里面还有10w 条数据,我想用一个多线程,更新这个表,例如创建5个线程...分配给这些线程任务是thread1 读取0-10 条数据thread2 读取11-20 条数据thread3 读取21-30 条数据thread4 读取31-40 条数据thread5 读取41-50 条数据总之就是更新过的就不在检测了,几个线程同时,针对这个表进行更新操作.....
查看完整描述

2 回答

?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

就是防脏写吧,防脏写的终极办法就是

update [table]

set [field1]= @field1new ,[field2]= @field2new................

where  [field1]= @field1old and [field2]= @field2old................

确保你要更新的数据和你取出的数据一致

这样就ok了


查看完整回答
反对 回复 2018-10-31
?
萧十郎

TA贡献1815条经验 获得超12个赞

方法一:多线程去读数据的时候 处理,oracle 里的 skip for lock  (好像是这个,有点忘了)

方法二:先读出所有数据(或部分数据)到dataset或什么中, 在用多线程处理读出的数据


查看完整回答
反对 回复 2018-10-31
  • 2 回答
  • 0 关注
  • 881 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信