返回信息流场景是有很几十万条数据需要插入一张表里,数据有部分相关性,类似于A1A2··AnB1B2···Bm····,想要的结果是AB····因此单线程实现时,会不断去读数据,然后做了如下判断,如果记录已存在则更新记录,没有记录则保存记录。可换成多线程时,就会出现几个线程都判断数据库没有记录,然后都选择保存记录,从而提示Duplicate entry 'id123' for key 'PRIMARY'。改用多线程的方法的目的是提高插入的效率,请问该如何解决这种冲突,还是说除了多线程以外有更好的方法么。(不要求很高的时效性)
这是一条镜像帖。来源:北邮人论坛 / java / #24765同步于 2013/4/11
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
hibernate多线程操作数据库的一张表,如何避免多线程间的冲突?
dragontwf
2013/4/11镜像同步3 回复
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
【 在 dragontwf 的大作中提到: 】
: 场景是有很几十万条数据需要插入一张表里,数据有部分相关性,类似于A1A2··AnB1B2···Bm····,想要的结果是AB····因此单线程实现时,会不断去读数据,然后做了如下判断,如果记录已存在则更新记录,没有记录则保存记录。可换成多线程时,就会出现几个线程都判断数据库没有记录,然后都选择保存记录,从而提示Duplicate entry 'id123' for key 'PRIMARY'。改用多线程的方法的目的是提高插入的效率,请问该如何解决这种冲突,还是说除了多线程以外有更好的方法么。(不要求很高的时效性)
同问