mysql数据库的隔离现象

mysql数据库的隔离现象

隔离现象 描述
脏读(Dirty Read) 事务B可以读到事务A尚未提交的数据变更
不可重复读(NonRepeatable Read) 事务B前后两次读取同一条记录之间,该记录被事务A修改并提交,于是事务B读到了不一样的结果
幻读(Phantom Read) 事务B按条件匹配到了若干行记录并修改。但是由于修改过程中事务A新插入了符合条件的记录,导致B更新完成后发现仍有符合条件却未被更新的记录

数据库的隔离等级和隔离现象的关系

隔离等级\隔离现象 脏读(Dirty Read> 不可重复读(NonRepeatable) 幻读(Phantom Read)
未提交读(Read Uncommitted) 可能 可能 可能
已提交读(Read Committed) 不可能 可能 可能
可重复读(Repeatable Read) 不可能 不可能 可能
可串行化(Serializable) 不可能 不可能 不可能

mysql对程序进行过修改,以至于可重复读也消除了幻读现象。

发表评论