gpt4 book ai didi

c# - SQL Server 如何处理并发请求?

转载 作者:行者123 更新时间:2023-11-30 19:50:33 25 4
gpt4 key购买 nike

如果对同一个大表的多个查询同时到达 SQL Server,SQL Server 如何解决这种情况下的冲突?

当在 WPF 应用程序中使用 LINQ to SQL 查询以在许多 PC 上安装时,在网络中与 SQL Server 数据库一起工作时,我应该以某种方式实现解决此类问题的机制,还是应该通过 SQL Server 和 LINQ to 保护我免受此类问题的影响SQL?

(我不是指对同一条记录的并发操作,它通过使用 TIMESTAMP 字段来解决。我的意思是一些队列问题,当从多个网络站点查询同一个大表时)

最佳答案

如果您的查询导致死锁,SQL Server 有一个内部机制来处理它。

如果它检测到死锁情况,它会选择一个“受害者”事务进行回滚。它选择受害者的方式首先是基于事务的优先级设置,然后是回滚每个查询的总成本。回滚成本较低的通常是受害者。

您实际上可以使用 SET DEADLOCK_PRIORITY 来控制优先级(LOW、MEDIUM 或 HIGH,或者 -10 到 10 之间的数字)。不过,如果您发现自己处于这种情况,那么您真的应该首先努力减少死锁。

关于c# - SQL Server 如何处理并发请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2165024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com