热门标签 | 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会再被作用的表上枷锁,防止其他用户修改表的结构。这里对我们的用户来

讲是非常作用的

推荐阅读
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 本文介绍了OpenStack的逻辑概念以及其构成简介,包括了软件开源项目、基础设施资源管理平台、三大核心组件等内容。同时还介绍了Horizon(UI模块)等相关信息。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • 在Kubernetes上部署JupyterHub的步骤和实验依赖
    本文介绍了在Kubernetes上部署JupyterHub的步骤和实验所需的依赖,包括安装Docker和K8s,使用kubeadm进行安装,以及更新下载的镜像等。 ... [详细]
  • 推荐一个ASP的内容管理框架(ASP Nuke)的优势和适用场景
    本文推荐了一个ASP的内容管理框架ASP Nuke,并介绍了其主要功能和特点。ASP Nuke支持文章新闻管理、投票、论坛等主要内容,并可以自定义模块。最新版本为0.8,虽然目前仍处于Alpha状态,但作者表示会继续更新完善。文章还分析了使用ASP的原因,包括ASP相对较小、易于部署和较简单等优势,适用于建立门户、网站的组织和小公司等场景。 ... [详细]
  • 本文介绍了如何在MySQL中将零值替换为先前的非零值的方法,包括使用内联查询和更新查询。同时还提供了选择正确值的方法。 ... [详细]
  • 本文介绍了如何使用Power Design(PD)和SQL Server进行数据库反向工程的方法。通过创建数据源、选择要反向工程的数据表,PD可以生成物理模型,进而生成所需的概念模型。该方法适用于SQL Server数据库,对于其他数据库是否适用尚不确定。详细步骤和操作说明可参考本文内容。 ... [详细]
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社区 版权所有