事务

事务

什么是事务

一个事务是一个完整的业务逻辑单元,不可再分。

与事务相关的语句只有(DML语句)。(insert delete update)

事务原理

image-20201020161253180

事务的特性

事务包含四大特性:ACID

A:原子性:事务最小的工作单元,不可再分

C:一致性:事务必须保证多条DML语句同时成功或者同时失败

I: 隔离性:事务A与事务B之间具有隔离

D:持久性:持久性说的是最终数据必须持久化到硬盘文件中,事务才算成功的结束

事务的隔离性

事务的隔离性存在隔离级别,理论上隔离级别有4个:

第一级别:读未提交

​ 对方事务还没有提交,我们当前事务可以读取到对方未提交的数据。

​ 读未提交存在脏读现象

第二级别:读已提交

​ 对方事务提交之后的数据我方可以读取到。

​ 这种隔离级别解决了脏读现象。

​ 读已提交存在的问题是:不可重复读。

第三级别:可重复度

​ 这种隔离级别解决了:不可重复读问题

​ 这种隔离级别存在的问题是:读到的数据都是虚的。

第四级别:序列化读/串行化读

​ 解决了所有问题。

​ 效率低。需要事务排队。

开始事务

BEGIN TRANSACTION <事务名称> |@ <事务变量名称>

提交事务

COMMIT TRANSACTION <事务名称> |@ <事务变量名称>

撤销事务

ROLLBACK [TRANSACTION] <事务名称> |@ <事务变量名称> |<存储点名称> | @<含有存储点名称的变量名>
原文地址:https://www.cnblogs.com/striver20/p/13853476.html