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对程序进行过修改,以至于可重复读也消除了幻读现象。