减少更新锁
- 更新锁是写入锁性能降低的关键
- 热点问题
- 热点更新是产生阻塞的核心原因
- 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
- 先批量删除再批量插入