当前位置: 首页 > wzjs >正文

在线课程网站建设规范长沙网站设计工作室

在线课程网站建设规范,长沙网站设计工作室,做标书需要用到哪些网站查资料,数商云官网最近在生产上遇到一个死锁问题,Oracle 抛出了 ORA-000060 异常。 业务场景:程序按行读取一个上游系统送的文件数据(大概有几万行),读取到数据后,每 500 行分配给一个线程去批量更新数据库(使用…

最近在生产上遇到一个死锁问题,Oracle 抛出了 ORA-000060 异常。

业务场景:程序按行读取一个上游系统送的文件数据(大概有几万行),读取到数据后,每 500 行分配给一个线程去批量更新数据库(使用主键)。表结构类似下面:

user_id(PK)user_nameagesex
00001tom6man
00002jimi11woman

给出一段批量更新的代码:

<update id='updateUser'  parameterType='java.util.List'>  <foreach collection='list' item='item' index='index' open='' close='' separator=';'>update tb_user set user_name=#{item.userName} age = #{item.age} where user_id= #{item.userId}</foreach>      
</update>

遇到问题后,我们想先问一下 DeepSeek,看它能不能帮忙解决。不得不说,DeepSeek 的深度思考太厉害了。

下面这句话直接给了我思路:

定位到死锁的原因后,解决方法可能有几种。如果是应用逻辑的问题,可能需要调整事务的顺序,比如让不同会话以相同的顺序访问表,减少交叉锁的可能性。

我猜测问题可能就是文件里面存在相同 user_id 的数据,而且文件数据没有按照 user_id 排序,导致不同线程更新时,出现了锁等待。类似下面的 2 个线程。 

线程一:

update tb_user set user_name=#{item.userName} age = #{item.age} where user_id = '00001';
update tb_user set user_name=#{item.userName} age = #{item.age} where user_id = '00002';

线程二:

update tb_user set user_name=#{item.userName} age = #{item.age} where user_id = '00002';
update tb_user set user_name=#{item.userName} age = #{item.age} where user_id = '00001';

我把读取的文件数据看了一下,确实有这个情况。

不得不说,DeepSeek 确实靠谱,我们看下 DeepSeek 给出的定位死锁的方法,基本上根据日志、跟踪文件来判断。

找到问题原因后,解决方案就很容易了。

  1. 通知上游系统把文件数据按照 user_id 进行排序;

  2. 后期优化,相同 user_id 的数据只保留一条日期最新的就行了。

DeepSeek 也给出的详细的解决死锁的方法,见下图:

下面,再看一下 DeepSeek 给出的预防措施和死锁分析报告示例。

最后,附上 Oracle 官方对 ORA-000060 异常的描述:

http://www.dtcms.com/wzjs/551637.html

相关文章:

  • 拓元建设网站淘宝基地网站怎么做
  • 余干县建设局网站一个帮你赚钱的网站是谁做的广告
  • 网站感谢页面网站建设在线培训
  • 域名注册哪个网站最便宜库存网站建设哪家好
  • 更换网站模板查看网站域名
  • 设计本网站怎么样建一个网站的费用
  • 网站栏目代码吕梁营销型网站建设费用
  • 宜兴做宠物的网站展示型网站建设的建议
  • 怎么做网站架构图动态效果网站建设技术
  • 私募股权基金网站建设自己搭建的ftp怎么做网站
  • 关于 建设 二级网站用ps做网站广告图
  • 静态网站开发课程网做网站选择虚拟主机好是服务器
  • 网站数据库设置权限微网站怎么注册账号
  • 重庆市工信部网站河南建设信息港网站查询
  • 网站怎么写做yield网站多少钱
  • 河南河南省住房和城乡建设厅网站wdcp搭建网站
  • wordpress 站内搜索华亮建设集团公司主页
  • 网站内页301重定向制作网页教程
  • 个人网站命名技巧网站怎么做更好推广
  • 备案主体负责人 网站负责人wordpress 新主题
  • 中国做网站的公司官方网站开发
  • 四川建设网网网站维护电话在线教育网站开发文档
  • TP5.1做的网站首页被挂马原因介绍产品的营销推文
  • 淘宝直通车推广怎么做云南网站建设快速优化
  • 营销网站更受用户欢迎的原因是网站和软件的区别
  • 代做毕业设计网站37游戏平台
  • 汉中网站建设公司帮别人做网站维护违法
  • 信用网站建设wordpress广告代码
  • 别人用我的备案信息做网站appstore免费下载
  • 网站建设微信公众号文章家电设计公司