数据库中事务的隔离性

简介: 在标准SQL规范中,定义了四个事务隔离级别。1.读未提交read uncommitted. 可以读到数据在别的事务处理期间的所有可能值。2.读已提交read committed. 别的事务已提交的值都可以被读到。3.可重复读repeatable read. 只能读到该事务开始前的值。忽略其他事务的修改。4.串行化seria

在标准SQL规范中,定义了四个事务隔离级别。

1.读未提交

read uncommitted.
可以读到数据在别的事务处理期间的所有可能值。

2.读已提交

read committed.
别的事务已提交的值都可以被读到。

3.可重复读

repeatable read.
只能读到该事务开始前的值。忽略其他事务的修改。

4.串行化

serializable.
是最严格的事务隔离级别,它要求所有的事务都被串行执行。

5.例子

为了方便说明问题,定义事务A:不断的读小明的语文成绩。事务B:将小明的语文成绩从原本的100分开始,不断加1,最终达到130分后提交事务。
t1时刻,事务A开始;t2时刻,事务B开始;t3时刻,事务B结束;t4时刻,事务A结束。
在整个过程中,事务A在各个隔离级别可能读到的情况见下表。

隔离级别 事务A可能读到的数据
读未提交 [100,130]中的任意值
读已提交 只可能读到100与130
可重复读 只能读到100
串行化 不可访问
目录
相关文章
|
4月前
|
SQL 关系型数据库 MySQL
乐观锁在分布式数据库中如何与事务隔离级别结合使用
乐观锁在分布式数据库中如何与事务隔离级别结合使用
|
2月前
|
SQL 关系型数据库 MySQL
乐观锁在分布式数据库中如何与事务隔离级别结合使用
乐观锁在分布式数据库中如何与事务隔离级别结合使用
|
4月前
|
SQL 数据库 数据安全/隐私保护
SQL Server数据库Owner导致事务复制log reader job无法启动的解决办法
【8月更文挑战第14天】解决SQL Server事务复制Log Reader作业因数据库所有者问题无法启动的方法:首先验证数据库所有者是否有效并具足够权限;若非,使用`ALTER AUTHORIZATION`更改为有效登录名。其次,确认Log Reader使用的登录名拥有读取事务日志所需的角色权限。还需检查复制配置是否准确无误,并验证Log Reader代理的连接信息及参数。重启SQL Server Agent服务或手动启动Log Reader作业亦可能解决问题。最后,审查SQL Server错误日志及Windows事件查看器以获取更多线索。
|
2月前
|
数据库
什么是数据库的事务隔离级别,有什么作用
【10月更文挑战第21】什么是数据库的事务隔离级别,有什么作用
21 3
|
6月前
|
存储 关系型数据库 MySQL
MySQL数据库进阶第六篇(InnoDB引擎架构,事务原理,MVCC)
MySQL数据库进阶第六篇(InnoDB引擎架构,事务原理,MVCC)
|
2月前
|
存储 关系型数据库 数据挖掘
什么是数据库的事务隔离级别
【10月更文挑战第21】什么是数据库的事务隔离级别
31 1
|
2月前
|
存储 数据库 数据库管理
数据库事务安全性控制如何实现呢
【10月更文挑战第15天】数据库事务安全性控制如何实现呢
|
2月前
|
存储 数据库 数据库管理
什么是数据库事务安全性控制
【10月更文挑战第15天】什么是数据库事务安全性控制
|
2月前
|
供应链 数据库
数据库事务安全性控制有什么应用场景吗
【10月更文挑战第15天】数据库事务安全性控制有什么应用场景吗
|
2月前
|
存储 关系型数据库 MySQL
数据库的事务控制
【10月更文挑战第15天】数据库的事务控制
27 2

热门文章

最新文章