考虑一下,我为所有在12点前使用sql*plus的朋友注册的人提供了彩票。没有存储时间戳的列,比如每行中的名称列表。一个人m1在11:59之前就把他的票插进去了,然后就开始了。
他在11:59开始更新他的(行)细节,把他的女佣添加到他的彩票名单中(只需要提交)。另一个运行insert语句的人在11:59 (只需要提交)开始他的第一个插入(只为他自己)。它是一张有2000万行的大表。
现在是12点了。把这看作是read提交的隔离级别。
彩票批次开始,将注册用户转移到其他一些表。在此之后(非常可能下一个nano秒),m1和m2都会提交。
我的select语句会批量添加m1和M1的女佣和m2到彩票中奖者名单中吗?
考虑scn(系统更改号),幻像和不可重复的读取时,回答.
发布于 2014-05-15 13:35:39
不是的。一旦运行SQL,Oracle服务器将为您的会话维护数据快照,因此在读取的SQL中看不到任何进一步的提交。
https://stackoverflow.com/questions/23678751
复制相似问题