美文网首页
数据库事务的四个特性(caid)

数据库事务的四个特性(caid)

作者: 半世浮华一生留恋 | 来源:发表于2018-05-04 14:12 被阅读0次

事务的四个特性(caid):

原子性:要么全部成功commit,要么全部失败rollback.

一致性:rollback后的数据和原来的一致。

隔离性:事务和事务之间不干扰。一个事务必须与另外一个事务的执行结果隔离开。

持久性:执行成功。持久化数据。

事务和锁:

数据库操作都会产生锁,分为共享锁(select语句产生)和排他锁(dml语句)。一个事务中的语句执行完成后,在commit之后,语句影响的表记录才可以解锁。

如果没有定义事务隔离级别因此多个事务操作同一条数据可能会违反事务的caid特性。存在下面2个问题:

1)脏读取:

一个事务读取另外一个尚未提交的数据,然后第二个事务回滚了,那么第一个事务读取的就是无效的数据。

2)丢失数据修改:两个事务同时对一条数据修改,一个先提交,一个后提交,则先提交的事务的修改数据无效。

事务的属性:

1)事务的传播属性

设置事务的属性,来决定方法用不用事务,如何用。

2)事务的隔离级别

ISOLATION_DEFAULT 

使用数据库默认的隔离级别

ISOLATION_COMMITTED 

允许读取其他并发事务已经提交的更新(防此脏读)

ISOLATION_READ_UNCOMMITTED 

允许读取其他并发事务还未提交的更新,会导致事务之                间的3个缺陷发生,这是速度最快的一个隔离级别,但同                时它的隔离级别也是最低

ISOLATION_REPEATABLE_READ 

除非事务自身修改了数据,否则规定事务多次重复读取        数据必须相同(防此脏读,不可重复读)

ISOLATION_SERIALIZABLE 

这是最高的隔离级别,它可以防此脏读,不可重复读和        幻读等问题,但因其侵占式的数据记录完全锁定,导致 

它影响事务的性能,成为隔离级别中最展慢的一个。 

3)事务只读

PROPAGATION_REQUIRED,readOnly 

用于提升只读操作的效率。

4)事务超时

    PROPAGATION_REGUIRED,timeout_5,readOnly

超过5s,没有回应则,将事务回滚。

常用连接池: 单线程 apache dbcp :org.apache.commons.dbcp.BasicDataSource

兼容dbcp且处理高并发的   tomcat pool jdbc: org.apache.tomcat.jdbc.pool.DataSourc

声明式事务:

spring 用aop在方法执行前开启一个事务,顺利执行完commit,异常则rollback。所以不用在方法里面来开启和关闭事务。

相关文章

  • 数据库事务的四个特性(caid)

    事务的四个特性(caid): 原子性:要么全部成功commit,要么全部失败rollback. 一致性:rollb...

  • 数据库事务的四大特性及事务隔离级别

    数据库事务四大特性(ACID),如果一个数据库声称支持事务的操作,那么该数据库必须具备以下四个特性。 (1)原子性...

  • MySQL——事务详解

    事务特性ACID 如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性: 1 原子性(Atomic...

  • 事务隔离级别

    事务隔离特性 支持事务的数据库必须满足四个特性: 原子性:整个操作要么执行成功,要么执行失败 持久化:事务提交后就...

  • MySQL的隔离级别和锁的关系

    一、事务的四大特性(ACID) 如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性: 1.1 原...

  • 数据库事务特性以及隔离级别

    一、事务的四大特性(简称ACID) 数据库如果支持事务的操作,那么就具备以下四个特性: 原子性(Atomicity...

  • mysql事务

    事务的四大特性(简称ACID) 数据库如果支持事务的操作,那么就具备以下四个特性: 1、原子性(Atomicity...

  • 数据库四大特性以及事务隔离级别

    一、事务的四大特性(简称ACID) 数据库如果支持事务的操作,那么就具备以下四个特性: 1、原子性(Atomici...

  • 2021-02-27 数据库事务及隔离级别

    一、事务的四大特性(简称ACID) 事务的使用是数据库管理系统区别文件系统的重要特征之一。事务拥有四个重要的特性:...

  • 数据库的ACID特性及事务控制

    1、数据库ACID特性: 数据库的ACID特性是数据库事务正确执行的四个基本要素的缩写。包含:原子性(Atomic...

网友评论

      本文标题:数据库事务的四个特性(caid)

      本文链接:https://www.haomeiwen.com/subject/hmydrftx.html