6、数据库事务、锁定、阻塞与死锁全解析

数据库事务、锁定、阻塞与死锁全解析

1. 理解事务

事务是关系数据库系统的重要组成部分,它定义了一个工作单元,这个单元可以包含一个或多个 Transact - SQL 语句。在事务中,所有语句要么全部应用,要么都不应用。

1.1 事务的作用

以图书库存系统为例,当一本书被售出时,会影响两个表: BookInventory BookSales 。如果书售出, BookInventory 表中的 numQuantity 会减少,同时 BookSales 表会新增一条记录,记录订单号、售出书籍的 ID 和销售日期。事务可防止部分更新,确保数据库的一致性。

1.2 事务的日志记录

在事务开始时,SQL Server 会将 Transact - SQL 语句所做的更改写入事务日志文件。若任何语句失败,整个事务将回滚,不会进行任何数据修改;若事务成功,则提交事务并进行修改。

1.3 事务的 ACID 特性

事务需通过 ACID 测试,ACID 代表原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation 或 Independence)和持久性(Durability),具体如下:
|特性|描述|
| ---- | ---- |
|原子性|原子事务是一个“全有或全无”的实体,要么执行所有步骤,要么都不执行。|
|一致性|在一致的事务中,任何数据修改都不应违反数据库的结构或设计规则。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值