请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

多线程插入400w数据引起间隙锁

当使用多线程插入大量数据的时候,自建的唯一索引(三个字段)会引发间隙锁,这种怎么处理?
现在我是把原来的字段拼接成新的一个字段存储来解决的,请问相同场景有更好的解决办法吗

正在回答 回答被采纳积分+3

1回答

龙虾三少 2022-08-13 14:31:19

三个字段变一个字段不能根本上解决问题 还是要看下业务场景在大批量插入的时候为什么会有select for update的查新

0 回复 有任何疑惑可以回复我~
  • 提问者 柠檬骑士 #1
    原本是用的“仓库id,门店id,商品编号”这三个做的唯一索引,后面发现多线程插入的时候,因为范围较大,间隙锁爆的比较多,在插入之前,组合新的字段,唯一索引改成了新的字段,才解决的
    回复 有任何疑惑可以回复我~ 2022-08-13 14:42:42
  • 插入会有间隙锁 但间隙锁不会block insert操作 所以是没有影响的
    回复 有任何疑惑可以回复我~ 2022-08-13 16:58:05
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信