oracle数据库多个update操作一张表会引起资源死锁吗?
TableDI
2024-07-18 广告
2024-07-18 广告
Excel一键自动匹配,在线免费vlookup工具,3步完成!Excel在线免费vlookup工具,点击87步自动完成vlookup匹配,无需手写公式,免费使用!...
点击进入详情页
本回答由TableDI提供
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之后事务不提交就会
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |