首页 > 代码库 > 数据库事务的四种隔离级别
数据库事务的四种隔离级别
数据库事务的隔离级别有4个,由低到高依次为:
Read uncommitted
|
未授权读取
读未提交
|
读可允许其他 两个事务不能同时进行写操作 |
事务B读取事务A为提交的数据
|
避免更新丢失
会出现脏读
|
Read committed
|
授权读取
读提交
|
读可允许其他
未提交的事务禁止其他事务访问进行
|
事务A读取数据
事务B更改数据
事务A读取B更改后的数据,前后结果不一致
|
避免脏读
会出现不可重复读(重复读取结果不同)
|
Repeatable read
|
可重复读取
|
读不允许写事务进行
写禁止其他事务进行
|
事务A读取R1和修改R2
事务B则不能修改R1和读取R2,B不会影响A
如果A包含一个统计某个范围内记录的操作,而B恰好在范围内插入一条记录,造成A幻读
|
可重复读取 会出现幻读 |
Serializable
|
序列化
|
事务只能一个接着一个执行,不能并发执行
|
最高的事务隔离级别,性能很低,一般很少用
|
避免脏读,避免不可重复读,避免幻读
|
数据库事务的四种隔离级别
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。