热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

数据库事务中的锁

一、事务准则(ACID)1、执行原子性(Atomic):要么做,要么不做;2、功能一致性(Consistency):DBMS的数据从一个状态到另外一个状态应满足一致性;3、彼此数据隔离性(Isolation):多个事务可并发执行,同一事务也可相互隔离:4、作用持久性(Durab

一、事务准则(ACID) 1、执行原子性(Atomic):要么做,要么不做; 2、功能一致性(Consistency):DBMS的数据从一个状态到另外一个状态应满足一致性; 3、彼此数据隔离性(Isolation):多个事务可并发执行,同一事务也可相互隔离: 4、作用持久性(Durab

一、事务准则(ACID)
1、执行原子性(Atomic):要么做,要么不做;
2、功能一致性(Consistency):DBMS的数据从一个状态到另外一个状态应满足一致性;
3、彼此数据隔离性(Isolation):多个事务可并发执行,同一事务也可相互隔离:
4、作用持久性(Durability):事务对数据库的影响是持久的,发生故障应可恢复。
实际使用的事务是用户定义的事务,它包括一系列操作或者语句
在多服务器环境中,使用用户定义的分布式事务,香港服务器,保证操作的一致性
事务的定义
事务是指一个单元的工作,这些工作要么全做,要么全部不做。作为一个逻辑单元,必须具备四个

属性:自动性、一致性、独立性和持久性。自动性是指事务必须是 一个自动的单元工作,要么执行全部

数据的修改,要么全部数据的修改都不执行。一致性是指当事务完成时,必须使所有数据都具有一致的

状态。在关系型数据库 中,所有的规则必须应用到事务的修改上,以便维护所有数据的完整性。所有的

内部数据结构,例如树状的索引与数据之间的链接,在事务结束之后,必须保证正 确。独立性是指并行

事务的修改必须与其他并行事务的修改相互独立。一个事务看到的数据要么是另外一个事务修改这些事

务之前的状态,要么是第二个事务已经修 改完成的数据,但是这个事务不能看到正在修改的数据。这种

特征也称为串行性。持久性是指当一个事务完成之后,网站空间,它的影响永久性的产生在系统中,也就是这种修

改写到了数据库中。
事务机制保证一组数据的修改要么全部执行,要么全部不执行。SQL Server使用事务保证数据的一

致性和确保在系统失败时的可恢复性。事务是一个可以恢复的单元的工作,由一条或者多条Transact-

SQL语句组 成,可以影响到表中的一行或者多行数据。事务打开以后,香港服务器租用,直到事务成功完成之后提交为止

,或者到事务执行失败全部取消或者滚回去为止。

锁是保证并发控制的手段
可以锁定的资源包括行、页、簇、表和数据库
锁的类型主要包括共享锁和排它锁
特殊类型的锁包括意图锁、修改锁和模式锁
共享锁允许其他事务继续使用锁定的资源
排它锁只允许一个事务访问数据
系统本身可以处理死锁
用户可以根据实际情况定制锁的一些特征
数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数据库中就会产生多个事务同

时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致

性。
加锁是实现数据库并发控制的一个非常重要的技术。当事务在对某个数据对象进行操作前,先向系统发

出请求,对其加锁。加锁后事务就对该数据对象有了一定的控制,在该事务释放锁之前,其他的事务不

能对此数据对象进行更新操作。

事务和锁
当执行事务操作时,Oracle会再被作用的表上枷锁,防止其他用户修改表的结构。这里对我们的用户来

讲是非常作用的

推荐阅读
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 本文详细介绍了IBM DB2数据库在大型应用系统中的应用,强调其卓越的可扩展性和多环境支持能力。文章深入分析了DB2在数据利用性、完整性、安全性和恢复性方面的优势,并提供了优化建议以提升其在不同规模应用程序中的表现。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 本文探讨了MariaDB在当前数据库市场中的地位和挑战,分析其可能面临的困境,并提出了对未来发展的几点看法。 ... [详细]
  • 随着网络安全威胁的不断演变,电子邮件系统成为攻击者频繁利用的目标。本文详细探讨了电子邮件系统中的常见漏洞及其潜在风险,并提供了专业的防护建议。 ... [详细]
  • 探讨架构师在项目中应如何平衡对产品的关注和对团队成员的关注,以实现最佳的开发成果。 ... [详细]
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
  • 深入理解一致性哈希算法及其应用
    本文详细介绍了分布式系统中的一致性哈希算法,探讨其原理、优势及应用场景,帮助读者全面掌握这一关键技术。 ... [详细]
  • 本文探讨了2012年4月期间,淘宝在技术架构上的关键数据和发展历程。涵盖了从早期PHP到Java的转型,以及在分布式计算、存储和网络流量管理方面的创新。 ... [详细]
  • 本文详细介绍了网络存储技术的基本概念、分类及应用场景。通过分析直连式存储(DAS)、网络附加存储(NAS)和存储区域网络(SAN)的特点,帮助读者理解不同存储方式的优势与局限性。 ... [详细]
author-avatar
会丶有那么一天
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有