对,脏读就是在查询时,有人在更改数据,这样数据就不统一,这是oracle的多版本性(可不是oracle的版本号哦!)和并发性,你可以理解成缓存,就是在没提交之前的临时存放区域,如果你是别的数据库这就需要另解释了,建议你学习一下undo,redo,对你学习oracle绝对有帮助。
你要是用mysql来验证脏读的话,得是两个事务在一个连接里才行:即同连接中事务T1修改数据,事务T2读取数据;mysql各个进程之间在不提交的情况下是不会出现脏读的。一个事务读到另外一个事务还没有提交的数据叫做脏读,不意味着在数据库里一个事务一定会读到另外一个事务还没有提交的数据(有点绕)。另外,建议看一下mysql及各大数据库的默认事务隔离级别问题。mysql是Repeatable Read。而其它的一般是Read Committed
不会的。脏数据最多会导致数据库越来越大,不会导致阻塞,基于锁的并发系统才会引起阻塞、当一个连接控制了一个锁,而另一个连接需要冲突的锁类型时,将发生阻塞。其结果是强制第二个连接等待,或在第一个连接上阻塞。
以上就是关于脏读是读了没有提交到数据库中数据我懂但全部的内容,包括:脏读是读了没有提交到数据库中数据我懂但、事务一致性脏读的概念我百度的,为什么还会出现脏读、oracle脏读会导致数据库堵塞吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)