什么是数据库事务?

什么是数据库事务?,第1张

(1):事务(Transaction)是并发控制的单位,是用户定义的一个 *** 作序列。这些 *** 作要么都做,要么都不做,是一个不可分割的工作单位。通过事务,SQL

Server能将逻辑相关的一组 *** 作绑定在一起,以便服务器保持数据的完整性。

(2):事务通常是以BEGIN

TRANSACTION开始,以COMMIT或ROLLBACK结束。

COMMIT表示提交,即提交事务的所有 *** 作。具体地说就是将事务中所有对数据库的更新写回到磁盘上的物理数据库中去,事务正常结束。

ROLLBACK表示回滚,即在事务运行的过程中发生了某种故障,事务不能继续进行,系统将事务中对数据库的所有以完成的 *** 作全部撤消,滚回到事务开始的状态。

(3):事务运行的三种模式:

A:自动提交事务

每条单独的语句都是一个事务。每个语句后都隐含一个COMMIT。

B:显式事务

以BEGIN

TRANSACTION显式开始,以COMMIT或ROLLBACK显式结束。

C:隐性事务

在前一个事务完成时,新事务隐式启动,但每个事务仍以COMMIT或ROLLBACK显式结束。

(4):事务的特性(ACID特性)

A:原子性(Atomicity)

事务是数据库的逻辑工作单位,事务中包括的诸 *** 作要么全做,要么全不做。

B:一致性(Consistency)

事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。

C:隔离性(Isolation)

一个事务的执行不能被其他事务干扰。

D:持续性/永久性(Durability)

一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。

注:事务是恢复和并发控制的基本单位。

首先说一下事务的概念:事务具有ACID属性,在一个会话的事务内,比如你长时间占用了一个资源A,

另外一个事务会话占用了资源B,两个会话都去争抢对方的资源,而又不释放自己的资源就会造成死锁,

但如果是耗时非常短的 *** 作,这种死锁的概率就比较低;

说上传图片属于长时间事务的意思是指

向数据库中插入图片是一个耗时 *** 作,说的不是很详细,给你几个链接自己看一下吧

事务的概念:

http://zhidao.baidu.com/link?url=1JpioSSnK_MNvdYO9eGzQzT2Ig8r16jV9xF6QfLrbHIx5LE2XxkleW6evXiUln-WugmKC8rVtFtCtvNtXwkqaq

事务与锁

http://www.cnblogs.com/lxconan/archive/2011/10/20/2218396.html

数据库事务是指作为单个逻辑工作单元执行的一系列 *** 作。设想网上购物的一次交易,其付款过程至少包括以下几步数据库 *** 作:· 更新客户所购商品的库存信息· 保存客户付款信息--可能包括与银行系统的交互· 生成订单并且保存到数据库中· 更新用户相关信息,例如购物数量等等正常的情况下,这些 *** 作将顺利进行,最终交易成功,与交易相关的所有数据库信息也成功地更新。但是,如果在这一系列过程中任何一个环节出了差错,例如在更新商品库存信息时发生异常、该顾客银行帐户存款不足等,都将导致交易失败。一旦交易失败,数据库中所有信息都必须保持交易前的状态不变,比如最后一步更新用户信息时失败而导致交易失败,那么必须保证这笔失败的交易不影响数据库的状态--库存信息没有被更新、用户也没有付款,订单也没有生成。否则,数据库的信息将会一片混乱而不可预测。数据库事务正是用来保证这种情况下交易的平稳性和可预测性的技术。-----------------------------------------------资料: http://baike.baidu.com/view/1298364.html?wtp=tt


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6803609.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存