+
 新版

怎么防止oracle幻读,脏读

osc_435471 发布于 2016/05/02 23:19
阅读 2K+
收藏 0

当数据库并发时。我只能允许插入一条记录,如何防止插入多条。。。

insert into tmp_dim 

 select 1,'A' from dual where  not exists (select 1 from tmp_dim where id=1);


如果开启事务的时候,两条数据执行到这个语句时都没有获得提交,就会插入两条。。


加载中
0
我的ID是jmjoy
我的ID是jmjoy
设置隔离级别。。
osc_435471
osc_435471
序列化的那个级别太高。会导致整个表锁,性能实在是不行
0
景愿
景愿

1 用Oracle约束

2 设定一个更好的业务模型

应用层锁

osc_435471
osc_435471
有具体的想法不~
0
maradona
maradona
单台机器就同步处理,集群加分布式锁
osc_435471
osc_435471
只是单纯吧操作方法锁了?那效率要多慢··
osc_435471
osc_435471
怎么同步
0
杰西米特

1. 加redis分布式锁

2. 设置唯一索引,  重复插入的时候可以报错

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部