SQL写入性能优化。

来源:互联网 发布:mac网络诊断isp失败 编辑:程序博客网 时间:2024/05/22 06:29

减少更新锁

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

  • 热点问题
    • 热点更新是产生阻塞的核心原因
    • 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
    • 先批量删除再批量插入