Transaction Managament(事务管理一、概念)
什么是事务
对于一个软件系统来说,我们需要相应的数据资源来保存体统状态。在对系统状态所依托的数据资源的时候,为了保证系统始终处于“正确”状态,我们必须对这些访问操作进行一些必要的限定。以保证系统状态的完整性。事务,就是以可控的方式对数据资源进行访问的一组操作。
为了保证事务执行前后,数据资源所承载的系统状态始终处于“正确”状态;事务本身持有4个限定属性:原子性,一致性,持久性,隔离性。
原子性:事务所包含的一组操作,要么全部成功,要么全部失败。
一致性:数据资源在事务执行前后保持一致的状态。
隔离性:事务的隔离性(4中隔离级别)主要规定了事务之间相互的影响程度。
Read Uncommitted: A事务可以读取B个事务没有提交的更新结果。
可能造成的问题是:
1、脏读:如果B事务回滚,那么A之前读到的就是一笔脏读数据。
2、不可重复读:在同一事务中对一笔数据多次读取,每次读取的结果不同。
3、幻读:同样一个查询在整个事务过程中多次执行,每次得出的结果集不一致。
Read Committed:这是大多数数据库采用的默认的隔离级别,一个事务更新操作的结果只有在该事务提交后其他事务才有可能读取到。
它可以避免脏读,但无法避免不可重复读和幻读。
Reaptable Read:保证在同一事务过程中,对同一笔数据的读取结果是一致的。可以避免脏读和不可重复读,但无法避免幻读。
Serializable:它是最严格的隔离级别,所有事务在这一级别下都必须按顺序执行,可以避免上面所有问题。但是性能却是最差的,并发下降,吞吐量下降,极 大影响系统性能。
持久性:一旦整个事务操作成功提交,对数据所做的变更将被记载下来,不可逆转。
Transaction Managament(事务管理一、概念)的更多相关文章
- Transaction Managament(事务管理二、Spring事务)
Transaction Managament(事务管理二.Spring事务) Spring事务框架的优势 Spring事务框架将开放过程中事务管理相关的关注点进行了分离,对这些关注点进行了抽象分离 ...
- Springboot下事务管理的简单使用
关于事务管理的概念这里就不多介绍了,在我的博客“JDBC事务之理论篇”中也有介绍. 关于Spring的事务管理,主要是通过事务管理器来进行的.这里看个Spring事务管理的接口图:(来自博客https ...
- 【Java EE 学习 52】【Spring学习第四天】【Spring与JDBC】【JdbcTemplate创建的三种方式】【Spring事务管理】【事务中使用dbutils则回滚失败!!!??】
一.JDBC编程特点 静态代码+动态变量=JDBC编程. 静态代码:比如所有的数据库连接池 都实现了DataSource接口,都实现了Connection接口. 动态变量:用户名.密码.连接的数据库. ...
- JDBC、JTA、Spring的事务管理
Java事务的类型有三种:JDBC事务.JTA(Java Transaction API)事务.容器事务. 事务就是对一系列的数据库操作(比如插入多条数据)进行统一的提交或回滚操作,如果插入成功,那么 ...
- 《深入理解mybatis原理》 MyBatis事务管理机制
MyBatis作为Java语言的数据库框架,对数据库的事务管理是其很重要的一个方面.本文将讲述MyBatis的事务管理的实现机制. 首先介绍MyBatis的事务Transaction的接口设计以及其不 ...
- Mybatis深入之事务管理
Mybatis之事务管理 简单介绍 Mybatis的事务管理分为两种JdbcTransaction.ManagedTransaction. 当中JdbcTransaction仅仅是对数据库连接Conn ...
- Spring事务管理的实现方式:编程式事务与声明式事务
1.上篇文章讲解了Spring事务的传播级别与隔离级别,以及分布式事务的简单配置,点击回看上篇文章 2.编程式事务:编码方式实现事务管理(代码演示为JDBC事务管理) Spring实现编程式事务,依赖 ...
- Spring事务管理的实现方式之编程式事务与声明式事务详解
原创说明:本博文为原创作品,绝非他处转载,转载请联系博主 1.上篇文章讲解了Spring事务的传播级别与隔离级别,以及分布式事务的简单配置,点击回看上篇文章 2.编程式事务:编码方式实现事务管理(代码 ...
- 关系型数据库工作原理-事务管理(一)(翻译自Coding-Geek文章)
本文翻译自Coding-Geek文章:< How does a relational database work>. 原文链接:http://coding-geek.com/how-dat ...
随机推荐
- WordPress获取首页网站链接和站点名称
利用bloginfo 获取WordPress网站名称和主页链接 用法一: $blog_title = get_bloginfo('name'); //获取站点名称 $linkzmki = get_bl ...
- leetcode813 Largest Sum of Averages
""" We partition a row of numbers A into at most K adjacent (non-empty) groups, then ...
- texlive 安装
texlive 可以从下面两个网址下载 https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/Images/ https://mirror ...
- 《ORACLE数据库管理与开发》第三章学习之常用函数记录
<ORACLE数据库管理与开发>第三章学习之常用函数记录 注:文章中的*代表所要操作的列名 1.lower(*)/upper(*),将此列下的值转为小写/大写 2.initcap(*):把 ...
- 域名配置DNS解析A记录,映射到主机
有很多域名的供应商,随便选,哪个便宜用哪个.godaddy一直支持支付宝,不用visa,虽然它是国外的. 我用的是godaddy,这两年有中文版的了,虽然它有了中文版,但是比以前的英文版还要慢. 进入 ...
- css的手机适配
在html篇里提到设置视口宽度和设备宽度,固定的meta配置就是写死的,==死记硬背== 应该清楚的是手机端的适配应该克服的难题就是宽度根据手机屏幕的大小变化,而高度却没有办法跟随比例变化,也就是宽高 ...
- 杭电oj1859:最小长方形(水题)
最小长方形 题目链接 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem ...
- [题解] LuoguP4091 [HEOI2016/TJOI2016]求和
传送门 首先我们来看一下怎么求\(S(m,n)\). 注意到第二类斯特林数的组合意义就是将\(m\)个不同的物品放到\(n\)个没有区别的盒子里,不允许有空盒子的方案数. 那么将\(m\)个不同的物品 ...
- 一对多关联按照一方的id查找信息的一个笛卡尔积问题
mapper中,关联的一对多,正确的结果应该是按照一方的id查找,根据映射得到的是一个一方对象,对象里嵌套这list属性,但是结果却出来了多条,在sql中实验 一方中123456789只有一条数据 多 ...
- 13.56mhz自动寻卡功能业界最低功耗:SI522
随着智能门锁的不断火爆,很多智能门锁产商为了让产品的功耗下降下来,都在不断寻找能自动寻卡的13.56mhz.今天我就为大家推荐一款13.56mhz芯片自动寻卡业界最低功耗,不仅是业界最低另外还完全PI ...