`
- 浏览:
259737 次
- 性别:
- 来自:
深圳
-
锁有很多种分法:
- 从封锁程度分:
1、共享锁——要执行select语句需要先得到共享锁。
2、独占锁——要执行update/insert/delete语句需要先得到独占锁。
资源上已经放置的锁 | 第二个事务进行读操作 | 第二个事务进行更新操作 |
无 | 立即获得共享锁 | 立即获得独占锁 |
共享锁 | 立即获得共享锁 | 等待共享锁释放
|
独占锁 | 等待独占锁释放 | 等待独占锁释放
|
3、更新锁——在update的初始化阶段用来锁定可能要被更改的资源。一个资源上只能放置一个更新锁,这样有效的避免了死锁(如果只有共享锁和独占锁,则当多个更新同时操作同一个资源的时候,都会等着对方释放共享锁而陷入死锁。)。
update的步骤如下:
首先,获得一个更新锁,读取记录。
接着,将更新锁升级为独占锁,执行更新操作。
- 从操作资源的粒度分:
数据库级锁、表级锁、行级锁等等。粒度越高,事务的隔离性越高,并发性越低。
数据库还支持锁自动升级,将多个低粒度锁如行级锁升级成少量的高粒度锁如表级锁,以降低系统负荷。 - 从应用程序的角度分:
悲观锁、乐观锁,详细见后面的介绍。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
数据库事务是数据库操作的核心概念,尤其在C#编程中,理解并熟练运用数据库事务对于确保数据的完整性和一致性至关重要。数据库事务确保了在多步骤操作中,如果其中一个步骤失败,整个事务可以被回滚,从而避免了数据...
数据库事务处理是数据库管理系统中的核心概念,用于确保数据的一致性和完整性。事务是数据库操作的基本单元,它包含一组逻辑操作,这些操作要么全部执行,要么全部不执行,以确保数据的原子性。事务处理主要关注两个...
【Redis 事务与关系型数据库事务的比较】 Redis 和关系型数据库(如 MySQL)在事务处理上有显著的差异。在Redis中,事务提供了一种批量执行命令的方式,以确保原子性,但其机制与传统的ACID(原子性、一致性、隔离...
数据库事务:对数据库事务的讲解,事务的概念 理解事务的特性、分类
### SQL数据库事务机制详解 #### 事务的基本概念 在数据库管理中,事务是一个非常重要的概念。事务是指作为单个逻辑工作单元执行的一系列操作。它主要用于确保数据在更新过程中的完整性,特别是在同步发生的多步...
### 数据库事务应用详解 #### 事务处理的重要性与ACID特性 事务处理是现代数据库管理系统(DBMS)中不可或缺的一部分,尤其对于那些涉及复杂业务逻辑、需要确保数据一致性和完整性的应用来说更是如此。事务处理的...
java代码-使用java解决数据库事务处理的源代码 ——学习参考资料:仅用于个人学习使用!
共计132页的ppt,详细讲述数据库事务处理技术
数据库事务是数据库操作的核心概念,它是数据库管理系统执行过程中的一个逻辑工作单位,包含了对数据库的一系列操作。在数据库系统中,事务确保数据的一致性和完整性,使得即使在系统出现故障或者并发操作的情况下,...
分布式数据库事务处理是数据库系统中的一个重要概念,尤其是在大型企业级应用和互联网服务中,它能够保证数据的一致性和完整性,即使在多台计算机之间进行数据操作。COM+(Component Object Model Plus)是微软提出...
数据库事务管理数据库事务管理
数据库之事务调优是数据库管理中的一个重要环节,它关乎到系统的性能、稳定性和并发处理能力。事务是数据库操作的基本单位,确保数据的一致性、...通过这些方法,我们可以构建出一个高效、稳定的数据库事务处理系统。
### DB2数据库事务日志详解及处理方法 #### 一、引言 在数据库管理领域,尤其是对于IBM DB2这样的大型关系型数据库管理系统而言,事务日志管理是至关重要的环节之一。事务日志用于记录数据库中的所有事务操作,确保...
数据库事务管理及锁机制原理剖析:包括事务特性 ACID、数据隔离级别、事务实现的原理、锁机制,及过程中可能遇到的查询效率及死锁问题等
3) **事务并发控制**:在数据库事务中,并发控制确保多个事务同时运行时,数据的一致性和完整性不受影响。Java可以通过悲观锁、乐观锁、读写锁(ReentrantReadWriteLock)、Synchronized关键字等机制实现并发控制。...
介绍数据库事务的四种隔离级别,比较不同隔离级别的区别和影响
本文将深入探讨C#语言中与数据库事务相关的原理及实践,包括事务的定义、特性、类型,以及如何在C#中利用Entity Framework(EF)进行事务开发和管理。 首先,我们需要理解什么是事务。在数据库系统中,事务是一组...