猿问

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

某数据库表里面还有10w 条数据,我想用一个多线程,更新这个表,例如创建5个线程...分配给这些线程任务是

thread1 读取0-10 条数据

thread2 读取11-20 条数据

thread3 读取21-30 条数据

thread4 读取31-40 条数据

thread5 读取41-50 条数据

总之就是更新过的就不在检测了,几个线程同时,针对这个表进行更新操作.....


holdtom
浏览 890回答 2
2回答

呼啦一阵风

就是防脏写吧,防脏写的终极办法就是update [table]set [field1]= @field1new ,[field2]= @field2new................where  [field1]= @field1old and [field2]= @field2old................确保你要更新的数据和你取出的数据一致这样就ok了

萧十郎

方法一:多线程去读数据的时候 处理,oracle 里的 skip for lock  (好像是这个,有点忘了)方法二:先读出所有数据(或部分数据)到dataset或什么中, 在用多线程处理读出的数据
随时随地看视频慕课网APP
我要回答