首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL Server中等待锁的事务数量的限制是什么?

SQL Server中等待锁的事务数量的限制是什么?
EN

Database Administration用户
提问于 2023-04-13 00:41:08
回答 2查看 149关注 0票数 0

我需要计算出使用锁更新表的最大吞吐量,因为当前的解决方案就是这样设计的。

在表或行级别启用锁定的情况下,SQL server可以在内部排队执行多少次同步更新?

MySQL上也有一个类似的问题:https://stackoverflow.com/questions/72119974/is-there-a-limit-to-the-number-of-transactions-that-can-be-queued-up-for-a-row-l。答案是,限制(对于MySQL)基本上是与MySQL服务器同时连接的最大数量。

对于Server来说,这是一样的吗?这个限制可以增加吗?

EN

回答 2

Database Administration用户

发布于 2023-04-16 20:46:33

你不会达到任何这样的极限。不管怎么说,这都无关紧要。如果每个更新都需要相同的独占锁,那么吞吐量取决于持有锁的每个事务的持续时间。

如果每个事务持续5ms,则吞吐量限制为每秒200次更新。

如果每个事务持续100 is,则吞吐量限制为10次更新/秒。

注意,这里相关的是包含更新的事务的持续时间,而不是更新的持续时间。

票数 3
EN

Database Administration用户

发布于 2023-04-13 13:34:40

Server最大连接为32768。由于存在内部进程,您可以拥有几乎超过32500个连接/会话/重新请求,当相同的数据必须更新时,它们都在队列中等待相同的进程.

此外,锁定没有限制,因为限制是锁的2147483647,而Server会进行锁升级(将页类型锁转换为分区或表锁)

这是MS SQL Server的常见行为,因为默认情况下,它在悲观的锁模型中工作。

如果您激活了乐观的锁模型,就不会有会话等待解锁,即使所有会话都想更新相同的数据.

自2005年版本以来,SQL Server是唯一能够同时使用lockink模型的RDBMS :悲观和乐观的.你也可以把它们混合..。好了!

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

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

复制
相关文章

相似问题

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