oracle, mysql, SAP IQ 事务隔离级别



Oracle -- 不存在“脏读”,未提交的数据,在其他事务看不到; 不可重复读(一个事务多次相同查询返回不同值,读取了另一个提交的事务); 出现幻读(读取了另一个提交的事务,自己刷卡消费一笔,LP在其他地方无卡(同样卡号)消费一笔,查询消费记录发现是两笔,幻读是针对新插入的数据)。

Oracle 只支持Serializable (串行化)级别和Read committed (读已提交)这两种级别,其中默认的为Read committed级别。


Sybase IQ -- 不存在脏读, 可重复读(一个事务多次相同查询返回一样的值,不管其他事务是否有更新提交这行记录,Repeatable read)


MySQL数据库为我们提供的四种隔离级别:


  ① Serializable (串行化):可避免脏读、不可重复读、幻读的发生。--  幻读是针对新插入的数据  


  ② Repeatable read (可重复读):可避免脏读、不可重复读的发生。 --  提交没提交的,在其他事务都看不到 


  ③ Read committed (读已提交):可避免脏读的发生。    


  ④ Read uncommitted (读未提交):最低级别,任何情况都无法保证。


请使用浏览器的分享功能分享到微信等