oracle数据库多个update操作一张表会引起资源死锁吗?
5个回答
今至电子科技有限公司
2024-08-23 广告
2024-08-23 广告
上海今至电子科技有限公司,是一家从事运维服务、系统集成和网络工程的专业公司。业务涵盖IT解决方案、网络工程、应用软件开发、系统集成、服务器虚拟化、桌面虚拟化、高性能运算、负载均衡、数据容灾备份、服务外包、IT运维等。我们的理念:诚信为本,服...
点击进入详情页
本回答由今至电子科技有限公司提供
2017-08-24
展开全部
oracle数据库多个update操作一张表会引起资源死锁吗
你是不是sql 语句后面加‘for update’了,如果有的话,你必须去掉,不然会锁定的。其他的update操作一张表不会引起资源死锁,你不commit,都是没记录的。
你是不是sql 语句后面加‘for update’了,如果有的话,你必须去掉,不然会锁定的。其他的update操作一张表不会引起资源死锁,你不commit,都是没记录的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果一张表多个update会死锁的话,oracle数据库就不能用了,怎么会成为全世界占有率最大的数据库公司?!Oracle有强大的并发机制和表锁、行锁机制,不会死锁的。
追问
数据库表中两个字段,分别做了批量的update,而且是多线程做的,就出现了Caused by: java.sql.BatchUpdateException: ORA-00060: 等待资源时检测到死锁。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是不是sql 语句后面加‘for update’了,如果有的话,你必须去掉,不然会锁定的。其他的update操作一张表不会引起资源死锁,你不commit,都是没记录的。
追问
数据库表中两个字段,分别做了批量的update,而且是多线程做的,就出现了Caused by: java.sql.BatchUpdateException: ORA-00060: 等待资源时检测到死锁。
追答
如果是这样的话,一种情况是你的这个表被其他表关联,同时并发锁定不释放。另一种情况是大批量的update不提交,导致记忆不足。
你试试在两个字段上分别建立索引。还有就是尽量把update分最小批进行commit。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
update之后事务不提交就会
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |