数据库事务介绍和Spring事务级别
2018-03-28 16:49
274 查看
事务的四个特性:ACID
原子性 要么全部成功,要么全部失败回滚
一致性 一个事务执行之前和执行之后都必须处于一致性状态;A和B两者钱加起来一共是5000,那么不管A和B之间如何转账,还5000
隔离性 多用户并发访问数据库时,比如操作同一张表时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离。
持久性 指一个事务一旦被提交了,那么对数据库中的数据的改变就是永久性的
事务不隔离带来的问题:
更新丢失 两事务同时更新,一个失败回滚覆盖另一个事务的更新
脏读
不可重复读
虚读(幻读)
事务隔离的级别为此我们需要通过提供不同类型的“锁”机制针对数据库事务进行不同程度的并发访问控制,由此产生了不同的事务隔离级别:隔离级别(低->高)。SQL、SQL2标准定义了四种隔离级别:●读未提交(Read Uncommitted)含义解释:只限制同一数据写事务禁止其他写事务。解决”更新丢失”。(一事务写时禁止其他事务写)名称解释:可读取未提交数据所需的锁:排他写锁●读提交(Read Committed)含义解释:只限制同一数据写事务禁止其它读写事务。解决”脏读”,以及”更新丢失”。(一事务写时禁止其他事务读写)名称解释:必须提交以后的数据才能被读取所需的锁:排他写锁、瞬间共享读锁●可重复读(Repeatable Read)含义解释:限制同一数据写事务禁止其他读写事务,读事务禁止其它写事务(允许读)。解决”不可重复读”,以及”更新丢失”和”脏读”。(一事务写时禁止其他事务读写、一事务读时禁止其他事务写)注意没有解决幻读,解决幻读的方法是增加范围锁(range lock)或者表锁。名称解释:能够重复读取所需的锁:排他写锁、共享读锁●串行化(Serializable)提供严格的事务隔离。它要求事务序列化执行,事务只能一个接着一个地执行,但不能并发执行。如果仅仅通过“行级锁”是无法实现事务序列化的,必须通过其他机制保证新插入的数据不会被刚执行查询操作的事务访问到。(一事务写时禁止其他事务读写、一事务读时禁止其他事务读写)限制所有读写事务都必须串行化实行。
原子性 要么全部成功,要么全部失败回滚
一致性 一个事务执行之前和执行之后都必须处于一致性状态;A和B两者钱加起来一共是5000,那么不管A和B之间如何转账,还5000
隔离性 多用户并发访问数据库时,比如操作同一张表时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离。
持久性 指一个事务一旦被提交了,那么对数据库中的数据的改变就是永久性的
事务不隔离带来的问题:
更新丢失 两事务同时更新,一个失败回滚覆盖另一个事务的更新
脏读
不可重复读
虚读(幻读)
事务隔离的级别为此我们需要通过提供不同类型的“锁”机制针对数据库事务进行不同程度的并发访问控制,由此产生了不同的事务隔离级别:隔离级别(低->高)。SQL、SQL2标准定义了四种隔离级别:●读未提交(Read Uncommitted)含义解释:只限制同一数据写事务禁止其他写事务。解决”更新丢失”。(一事务写时禁止其他事务写)名称解释:可读取未提交数据所需的锁:排他写锁●读提交(Read Committed)含义解释:只限制同一数据写事务禁止其它读写事务。解决”脏读”,以及”更新丢失”。(一事务写时禁止其他事务读写)名称解释:必须提交以后的数据才能被读取所需的锁:排他写锁、瞬间共享读锁●可重复读(Repeatable Read)含义解释:限制同一数据写事务禁止其他读写事务,读事务禁止其它写事务(允许读)。解决”不可重复读”,以及”更新丢失”和”脏读”。(一事务写时禁止其他事务读写、一事务读时禁止其他事务写)注意没有解决幻读,解决幻读的方法是增加范围锁(range lock)或者表锁。名称解释:能够重复读取所需的锁:排他写锁、共享读锁●串行化(Serializable)提供严格的事务隔离。它要求事务序列化执行,事务只能一个接着一个地执行,但不能并发执行。如果仅仅通过“行级锁”是无法实现事务序列化的,必须通过其他机制保证新插入的数据不会被刚执行查询操作的事务访问到。(一事务写时禁止其他事务读写、一事务读时禁止其他事务读写)限制所有读写事务都必须串行化实行。
相关文章推荐
- 事务特性,事务的隔离级别,并发事务可能出现的问题,spring事务 数据库锁
- spring的事务传播属性与数据库的隔离级别
- spring整合hibernate事务管理的四种方式,以及事务的传播行为和隔离级别介绍
- spring事务的基本特性以及数据库隔离级别
- Spring事务传播机制和数据库隔离级别
- Spring的事务传播属性,数据库的隔离级别
- Spring事务的传播级别 & 数据库事务的隔离级别
- Spring的事务传播属性,数据库的隔离级别
- 数据库隔离级别以及Spring事务传播
- 关于数据库事务隔离级别的介绍
- 数据库 事务级别介绍
- Spring的事务传播属性,数据库的隔离级别
- Spring事务传播机制和数据库隔离级别
- Spring事务传播机制和数据库隔离级别
- Spring事务传播机制和数据库隔离级别
- 数据库事务的四大特性以及事务的隔离级别和spring应用
- Spring整合Hibernate,事务的几种传播特性,数据库事务隔离级别(脏读幻读不可重复读)
- 关于数据库事务隔离级别的介绍
- 数据库事务的四大特性、隔离级别以及Spring中如何利用AOP进行事务管理
- spring事务的传播属性,数据库事务特征,隔离级别