<!----><!---->
<!---->
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
:手工事务模板类
分享到:
相关推荐
读书笔记——AGoodManIsHardToFind.pdf
arm体系结构与编程 读书笔记——Page72
《士兵突击》读书笔记——不抛弃-不放弃.docx
微观经济学读书笔记——从货币关注人民币国际化.docx
个人整理的嵌入式系统设计师教程读书笔记——帮我低空飞过考试.doc
FPGA自学笔记——设计与验证公开版;十分适合初学者使用
MySQL学习笔记——“语法总结”
网络运维笔记——T221.pdf网络运维笔记——T221.pdf网络运维笔记——T221.pdf网络运维笔记——T221.pdf网络运维笔记——T221.pdf网络运维笔记——T221.pdf网络运维笔记——T221.pdf网络运维笔记——T221.pdf网络运维...
网络运维笔记——T221.docx网络运维笔记——T221.docx网络运维笔记——T221.docx网络运维笔记——T221.docx网络运维笔记——T221.docx网络运维笔记——T221.docx网络运维笔记——T221.docx网络运维笔记——T221.docx
开启心智 管理人生《把时间当作朋友》读书笔记ppt模板,立体线条空间感设计精美的ppt模板。
Solidworks学习笔记——随形变化.docxSolidworks学习笔记——随形变化.docxSolidworks学习笔记——随形变化.docxSolidworks学习笔记——随形变化.docxSolidworks学习笔记——随形变化.docxSolidworks学习笔记——...
遗传算法笔记——7.pdf遗传算法笔记——7.pdf遗传算法笔记——7.pdf遗传算法笔记——7.pdf遗传算法笔记——7.pdf遗传算法笔记——7.pdf遗传算法笔记——7.pdf遗传算法笔记——7.pdf
——————————————————————————————————————————————
Cocos2d-x学习笔记——完全掌握C++ API与游戏项目开发.zip
Oracle学习笔记——day02 学习的好东西 Oracle学习笔记——day02
Oracle学习笔记——day04 学习的好东西 Oracle学习笔记——day04
Oracle学习笔记——day03 学习的好东西 Oracle学习笔记——day03
Oracle学习笔记——day05 学习的好东西 Oracle学习笔记——day05
Oracle学习笔记——day01 学习的好东西Oracle学习笔记——day01
韩顺平Oracle笔记——数据库韩顺平Oracle笔记——数据库管理员管理员