<!----><!---->
<!---->
1.
事务四要素(
ACID
)
<!---->Ø
<!---->Atomicity
(原子性):工作单元不可分;要么执行所有数据修改,要么不执行任何数据修改。
<!---->Ø
<!---->Consistency
(一致性):事务完成后,必须使所有数据处于一致的状态。
<!---->Ø
<!---->Isolation
(隔离性):无法在事务之外看到中间状态的数据。
<!---->Ø
<!---->Durability
(持久性):事务完成之后,其作用将永久保留在系统中。
2.
并发
1)
并发的基本问题
<!---->Ø
<!---->丢失更新
<!---->Ø
<!---->不一致读
<!---->Ø
<!---->死锁
2)
隔离和只读
3)
锁类型
<!---->Ø
<!---->共享锁(
S
)
<!---->Ø
<!---->排它锁(
X
)
4)
乐观锁和悲观锁
<!---->Ø
<!---->乐观锁重在冲突检测,悲观锁重在避免冲突
<!---->Ø
<!---->乐观锁将比悲观锁拥有更好的并发能力
5)
隔离级别与不一致读错误
隔离级别与并发性是互为矛盾的:隔离程度越高,数据库的并发性越差;隔离程度越低,数据库的并发性越好。
隔离级别
|
读脏数据
|
不可重复读
|
幻影读
|
Read Uncomitted
|
Yes
|
Yes
|
Yes
|
Read Committed
|
No
|
Yes
|
Yes
|
Repeatable Read
|
No
|
No
|
Yes
|
Serializable
|
No
|
No
|
No
|
3
.
Oralce
事务
1)Oracle
常用锁类型
锁
|
SQL
|
None
|
select
|
SS(Table-S&Row-S)
:行级共享锁,其他对象只能查询这些数据行
|
Select for update
、
Lock for update
、
Lock row share
|
SX(Table-S&Row-X)
:行级排它锁,在提交前不允许做
DML
操作
|
Insert
、
Update
、
Delete
、
Lock row share
|
S(Table-Share)
:共享锁
|
Create index
|
X(Table-Exclusive)
:排它锁
|
Alter table
、
Drop able
、
Drop index
、
Truncate table
|
2)Oralce
的隔离级别
ORACLE
提供了
SQL92
标准中的
read committed
和
serializable
,同时提供了非
SQL92
标准的
read-only
。
3.
分布式事务
1)JTA
:
Java Transaction API
2)
跨资源事务
3)
跨进程事务
4.
事务传播
<!---->Ø
<!---->Required
<!---->Ø
<!---->Support
<!---->Ø
<!---->Mandatory
<!---->Ø
<!---->Required new
<!---->Ø
<!---->Not Support
<!---->Ø
<!---->Never
5
.
Spring
对事务的支持
<!---->Ø
<!---->TransactionAttribute
:定义事务属性,包括传播属性、隔离级别、超时时间、是否只读和异常回滚策略
<!---->Ø
<!---->TransactionAttributeSource
:定义了事务属性的获取接口,其实现包括通过
Annotation
获取事务属性
(AnnotationTransactionAttributeSource)
<!---->Ø
<!---->PlatformTransactionManager
:事务管理器接口,其实现了具体的事务策略,包括
JTA
、
Hibernate
、
DataSource
、
JDO
等实现
<!---->Ø
<!---->TransactionInterceptor
:事务拦截器,基于
AOP
的声明式事务
<!---->Ø
<!---->TransactionTemplate
:手工事务模板类
分享到:
相关推荐
- **事务处理**:确保一系列操作的原子性,要么全部成功,要么全部回滚。 - **视图**:虚拟表,基于一个或多个表的查询结果,提供数据的另一种视角。 - **安全管理和权限**:控制用户访问数据库的权限,确保数据...
- **AMBA总线规范**:由ARM公司制定,广泛应用于SoC(System on Chip)设计领域,规定了包括AHB在内的三种不同类型的总线——AHB(高级高性能总线)、ASB(高级系统总线)以及APB(高级外设总线)的标准。...
此外,ASP.NET的运行离不开.NET框架,特别是CLR(Common Language Runtime)——通用语言运行时。CLR是一个管理代码执行的环境,能够运行并维护各种编程语言编写的代码。.NET框架包含了基类库,提供了大量预定义的类...
在《政治学》一书中,他确立了政治学的研究对象——城邦,以及研究方法,从而使政治学成为一门系统的学科体系。 ### 二、城邦的概念与性质 #### 2.1 城邦定义 亚里士多德认为,城邦是一种追求至善的包含其他一切的...
大卫在斯本罗律师事务所开始了他的职业生涯,并与安妮斯·威克菲尔建立了深厚的友情。与此同时,大卫的情感世界也变得复杂,他先是爱上了纯真却头脑简单的朵拉,但这段婚姻并未带来预期的幸福。后来,大卫遇到了真爱...
对于JDBC操作,Spring提供了一个强大的工具——`JdbcTemplate`,这是一个数据访问模板类,它封装了资源管理、事务控制等通用步骤,使得开发者只需关注具体的数据操作逻辑,而无需关心底层的资源管理和异常处理。...
以上内容是小编给大家介绍MYSQL必知必会读书笔记的相关知识,希望对大家有所帮助! 您可能感兴趣的文章:批处理命令 BAT备份MySQL数据库MySQL 备份还原数据库批处理MySQL数据入库时特殊字符处理详解php+mysqli预处理...
同时,阅读名著并撰写读书笔记能够提升文学素养和批判性思维。数学作业则注重实践应用,如设计数学问题实例、编写数学游戏,让学生感受到数学的趣味性和实用性,而介绍数学家的故事和经典数学题,则有助于激发学生对...
同时也提到了网络公益活动的例子,如湖南省的网络公益读书笔记行动,激发学生的社会责任感。 综上所述,本课件旨在引导学生认识到网络生活的复杂性和责任,教导他们如何在享受网络便利的同时,保持理性、负责任的...
通过阅读专业书籍,如《课堂转型——静静的革命》,并撰写读书笔记分享给全体教师,以更新教学观念,丰富业务知识,提升管理能力。此外,我在国家级期刊上发表了一篇教学论文,展示我校的教育研究成果。 2. **团队...
- **个人使用**:如时间管理、读书笔记、旅行规划、健康管理等。 - **企业应用**:如项目管理、客户资料、市场分析报告等。 - **教学辅助**:教师可以用于整理课程资料,学生则可用来管理学习笔记和作业。 6. 实用...