iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >SQL Server可以锁定的资源类型
  • 679
分享到

SQL Server可以锁定的资源类型

2024-04-02 19:04:59 679人浏览 独家记忆
摘要

SQL Server可以锁定的资源类型SQL Server可以锁定不同类型的资源。这些可以被锁定的资源类型包括:RIDs或键(keys)(行级别),页(pages),对象(objects)(例如,表),数据

SQL Server可以锁定的资源类型

SQL Server可以定不同类型的资源。这些可以被锁定的资源类型包括:RIDs或键(keys)(行级别),页(pages),对象(objects)(例如,表),数据库(databases)和其他。行位于页中,而也是包含表或索引数据的物理数据块。你首先应该熟悉这些资源类型,到更高级的阶段,你可能会要熟悉其他锁定资源类型,像盘区(extents),分配单元(allocation units),堆(heaps)或B树(B-trees)。

为了获得一个特定资源类型的锁,你的事务必需首先获得更高粒度级别上的相同模式的意向锁。例如,为了获得一个行上的排它锁,你的事务必需首先在行位于的页上申请意向排它锁和拥有页的对象上的意向排它锁。类似的,为了获得一个特定粒度级别上的共享锁,你的事务必需首先在更高粒度级别上申请一个意向共享锁。意向锁的目的是在更高的粒度级别上有效地检测到不兼容锁请求并阻止授予它们。例如,一个事务持有一个行锁,而另一个事务在行位于的整个页或表上请求一个不兼容的锁模式,因为第一个事务在页和表上获得的意向锁,对于sql Server很容易识别冲突。意向锁不会干扰行级别粒度上的锁请求。例如,一个页上的意向锁不会阻止其它事务在该页的行上获得不兼容的锁模式。

锁兼容性表如下:

请求模式授予了排它锁(X)授予了共享锁(S)授予了意向排它锁(IX)授予了意向共享锁(IS)
是否授予排它锁请求?
是否授予共享锁请求?
是否授予意向排它锁请求?
是否授予意向共享锁请求?

 
SQL Server动态决定锁定哪个资源类型。当然,对于理想的并发,最好只锁定需要锁定的资源,也就是只锁定影响的行。然而,锁定需要内存资源和内部管理开销。因此,当SQL Server选择锁定哪个资源类型时,要同时考虑并发和系统资源。

SQL Server会首先申请细粒度的(fine-grained)锁(像行或页锁),在一定情况下,尝试升级细粒度的锁到更粗粒度(coarse-grained)锁(像表锁)。例如,当一条语句获得至少5000个锁,然后对于每1250个新锁,如果之前尝试锁升级不成功,那么锁升级(lock eScalation)被触发。

在SQL Server 2008和SQL Server 2012,你可以通过使用ALTER TABLE语句设置一个表选项,来控制锁升级的行为方式。如果你喜欢,也可以禁用锁升级,或者决定在表级别(默认)或者分区级别发生锁升级。(一个表可以被物理组织到多个更小的单元叫做分区。)


翻译自
Itzik Ben-Gan
Microsoft SQL Server 2012 T-SQL Fundamentals
Page 302
Lockable Resource Types


您可能感兴趣的文档:

--结束END--

本文标题: SQL Server可以锁定的资源类型

本文链接: https://www.lsjlt.com/news/38333.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PHP 函数参数类型的可用资源
    php 函数参数类型包括:整型、字符串、浮点数、布尔值、数组、对象、资源和 null;复合类型包括闭包。 PHP 函数参数类型的可用资源 在 PHP 中,函数参数可以具有不同的类型,包...
    99+
    2024-04-19
    php 参数类型
  • oracle根据操作资源的类型把锁分哪几类
    本篇内容介绍了“oracle根据操作资源的类型把锁分哪几类”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!数...
    99+
    2024-04-02
  • Kubernetes资源类型的示例分析
    这篇文章给大家分享的是有关Kubernetes资源类型的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Kubernetes是一个开源的容器管理平台,用于部署和管理容器化的...
    99+
    2024-04-02
  • SQL SERVER数据类型是怎样的
    本篇文章给大家分享的是有关SQL SERVER数据类型是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 1.SQL SERVER的数据...
    99+
    2024-04-02
  • SQL Server中的数据类型详解
    目录哪些对象需要数据类型一、 整数数据类型1、bit2、tinyint3、smallint4、int (integer)5、bigint二、 浮点数据类型1、real: 近似数值型2...
    99+
    2024-04-02
  • SQL SERVER的数据类型有哪些
    本篇内容介绍了“SQL SERVER的数据类型有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.SQ...
    99+
    2024-04-02
  • Nagios可以监控的资源包括哪些
    Nagios可以监控的资源包括: 服务器的CPU利用率、内存利用率、磁盘空间利用率等性能指标 网络设备的带宽利用率、响应时间等网络...
    99+
    2024-04-02
  • MySQL中的锁可以分成几类
    本篇内容主要讲解“MySQL中的锁可以分成几类”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL中的锁可以分成几类”吧!根据加锁的范围,MySQL里面的锁...
    99+
    2024-04-02
  • sql server属于哪个类型的数据模型
    这篇文章给大家分享的是有关sql server属于哪个类型的数据模型的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。sql server属于什么类型的数据模型?SQL Server...
    99+
    2024-04-02
  • SQL Server中的XML数据类型详解
    目录一、创建测试数据,指定字段数据类型为XML1、创建表2、插入测试数据3、插入XML文件数据4、创建索引二、查询XML数据1、query(XPath条件):返回xml 类型的节点内...
    99+
    2024-04-02
  • SQL SERVER中的字段类型有哪些
    SQL SERVER中的字段类型有哪些?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。SQL SERVER提供的说明。 ...
    99+
    2024-04-02
  • SQL Server中的数据类型有哪些
    这篇文章主要介绍了SQL Server中的数据类型有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SQL Server中的数据类型有哪些文章都会有所收获,下面我们一起来看看吧。T-SQL...
    99+
    2023-06-30
  • SQL Server三种锁定模式的示例分析
    这篇文章主要为大家展示了“SQL Server三种锁定模式的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“SQL Server三种锁定模式的示例分析”这...
    99+
    2024-04-02
  • SQL Server中触发器的类型有哪些
    这篇文章给大家分享的是有关SQL Server中触发器的类型有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。触发器的类型有:DML触发器、DDL触发器和登录触发器。触发器(t...
    99+
    2024-04-02
  • php中资源类型变量指的是什么
    这篇文章给大家分享的是有关php中资源类型变量指的是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、概念资源类型变量是PHP中最复杂的变量,也是复合型结构。PHP的zval可以表示广泛的数据类型,但是很难充...
    99+
    2023-06-15
  • sql中用什么命令可以修改表的结构类型
    使用 alter table 命令修改 sql 表的结构类型:指定表名、要修改的列名和新数据类型。可选指定列是否允许为空值。注意一次只能修改单个列,新数据类型须兼容现有值,且有外键约束时...
    99+
    2024-05-12
  • PHP 函数返回值的类型是否可以通过类型注解来指定?
    php 函数中使用类型注解来指定返回值类型,从而提高代码的可读性、维护性和可靠性,支持基本类型 (如 int)、复合类型 (如 array) 和可选类型。具体语法为:function f...
    99+
    2024-04-16
    类型注解
  • PHP 函数返回值的类型可以是怎么确定的?
    php 函数返回值类型的确定方法包括:1. 使用 typehint 声明;2. 根据函数定义推断;3. 使用 gettype() 函数;4. 使用第三方库(如 psalm 和 phpst...
    99+
    2024-04-15
    函数返回值 类型推断
  • SQL Server中的XML数据类型实例分析
    本篇内容主要讲解“SQL Server中的XML数据类型实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SQL Server中的XML数据类型实例分析”吧!SQL Se...
    99+
    2023-06-30
  • PHP 中是否可以使用动态类型来定义函数返回值的类型?
    尽管 php 是一种动态类型语言,但函数返回值的类型必须是静态的。php 不允许使用动态类型来定义返回值的类型,这有助于在编译时进行类型检查和类型推断,确保程序的健壮性和可靠性。 PH...
    99+
    2024-04-15
    函数 返回值 类型 动态
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作