oracle, mysql, SAP IQ 事务隔离级别
-
tolywang
2017-08-25 19:34:31
-
Oracle
-
原创
Oracle -- 不存在“脏读”,未提交的数据,在其他事务看不到; 不可重复读(一个事务多次相同查询返回不同值,读取了另一个提交的事务); 出现幻读(读取了另一个提交的事务,自己刷卡消费一笔,LP在其他地方无卡(同样卡号)消费一笔,查询消费记录发现是两笔,幻读是针对新插入的数据)。
Oracle 只支持Serializable (串行化)级别和Read committed (读已提交)这两种级别,其中默认的为Read committed级别。
Sybase IQ -- 不存在脏读, 可重复读(一个事务多次相同查询返回一样的值,不管其他事务是否有更新提交这行记录,Repeatable read)
MySQL数据库为我们提供的四种隔离级别:
① Serializable (串行化):可避免脏读、不可重复读、幻读的发生。-- 幻读是针对新插入的数据
② Repeatable read (可重复读):可避免脏读、不可重复读的发生。 -- 提交没提交的,在其他事务都看不到
③ Read committed (读已提交):可避免脏读的发生。
④ Read uncommitted (读未提交):最低级别,任何情况都无法保证。