首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么分区级别的锁升级不是默认的?

为什么分区级别的锁升级不是默认的?
EN

Database Administration用户
提问于 2012-12-06 21:07:10
回答 1查看 2.7K关注 0票数 7

在Server中,锁通常从行或页->表中升级。从Server 2008开始,添加了一个新的锁升级级别-- 分区级

但是,这并不是对分区表自动启用的-默认情况下,该表被设置为跳过分区锁定并从行或页->表直接转到。为什么会是这样呢?为什么我不想将我的所有表从TABLE切换到AUTO,以便将锁升级到分区级别而不是表级别?

由于缺省值仍然是TABLE,所以我认为AUTO的缺点肯定有一些不足。

EN

回答 1

Database Administration用户

回答已采纳

发布于 2012-12-06 21:13:39

泡泡有答案--它在默认情况下不是打开的,因为它可能会增加死锁的可能性。

数据库引擎不会将行锁或键范围锁升级为页锁,而是将其直接升级到表锁。类似地,页锁总是升级到表锁。在Server 2008中,分区表的锁定可以升级到关联分区的HoBT级别,而不是表锁。HoBT级别的锁不一定锁定分区的对齐HoBT。

HoBT级别的锁通常会增加并发性,但是当正在锁定不同分区的事务希望将各自的独占锁扩展到其他分区时,会引入死锁的可能性。在少数情况下,表锁定粒度可能表现得更好。

票数 7
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/29950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档