原子性: 强调事务的多个操作不可分割.
一致性: 强调事务执行的前后, 数据完整性保持一致.
隔离性: 强调事务执行过程中, 不应该受到其他事务的干扰.
持久性: 强调事务一旦结束, 数据就持久到数据库中.
关于读的问题:
脏读: 一个事务读取到了另一个事务还没有提交的数据.
不可重复读: 一个事务读取到了另一个事务提交过的 /**修改的数据*/ 导致多次查询结果不一致.
虚读: 一个事务读取到了另一个事务提交过的 /**添加的数据*/ 导致多次查询结果不一致.
关于写的问题:
丢失更新
隔离级别权限从小到大分别是:
read uncommitted < read committed < repeatable read < serializable
安全性从小到大分别是:
read uncommitted < read committed < repeatable read < serializable
效率从高到低分别是:
read uncommitted > read committed > repeatable read > serializable
read uncommitted: 有可能引发脏读, 不可重复读, 虚读.
read commit: 能规避脏读, 但是有可能发生不可重复读, 虚读.
repeatable read: 能规避脏读, 不可重复读, 但是有可能发生虚读.
serializable: 串行化的, 能规避这三种.
网友评论