oracle 死锁问题

最近工作中 遇到 死锁问题。

 oracle 中遇到死锁的 概率很小,  反正我遇到的都是 程序设计不合理, 或者 我特意制造的死锁。 


简单说下,  工作中的 死锁问题是, oracle 死锁是由于 , 外键 没有加索引导致的,  因为我删除 时   都要对主表全表扫描,    而且我的主表 还很大, 我清楚的记得是 没删除一行, 都要做一次全表扫描。    死锁问题  就在此时产生的。   问题找到了,   那我就  在此处 做处理, 那我加快扫描速度,  于是我在外键 上面 加上索引。 加上索引后果然 死锁问题 解决了。 


此时我想“真的解决了吗?”。  我个人认为没有,  加上索引 只是 死锁问题  出现的几率变小了。  但木有完全解决。  此时我查了使用场景, 问这种 删除数据是不是 经常出现, 有木有哪位  用户 没事 喜欢 删除数据, 或者 我们能不能把数据改成  “软删除”。    说白了 就是 把外键给 去掉!!!


 有没有 其他表 有类似的情况??   于是 想到了  tom  大师的 脚本 检查  外键 没有索引 的脚本,  哎,  还查询出不少 外键 木有索引。 


  哎, 本来准备写写  结论的,  结果 写的写的  激动了(做技术 的通病??), 激动了, 有不免 有点啰嗦。    


  死锁 问题 , 还有一种情况是   位图索引  并发更新, 这个是之前 遇到的,  场景什么的不说了,遇到位图索引, 并且有更新操作  注意死锁问题........





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值