SQL写入性能优化。

减少更新锁

  • 更新锁是写入锁性能降低的关键

  • 热点问题
    • 热点更新是产生阻塞的核心原因
    • ID种子记录的更新要采用新建立事务模式NewEntityManager
    • 库存热点记录要确保将更新放到代码的最后执行

  • 降低事务长度
    • 手动延迟开启事务

  • 更新操作
    • 尽量使用主键进行更新
    • 先根据条件查询出主键,再根据主键进行更新


批量操作

  • 批量插入方法
    • SQL语句支持批量的数据写入,如values(4,'国家社科规划、基金项目',2917,'',1,''),(5,'教育部人文、社会科学研究项目',2917,'',1,‘’)
    • JPA操作时,一次性Commit
    • 批量插入时考虑到主键一定是顺序的


  • 批量删除方法
    • SQL拼写
    • JPA操作

  • 批量更新方法
    • 先插入到临时表,再批量UPDATE
    • UPDATE friends INNER JOIN users ON friends.friendid = users.userid SET firends.friendname = users.username
    • 先批量删除再批量插入
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值