sql-server – 我有关于死锁的数据,但我无法理解它们为什么会发
发布时间:2021-01-18 04:53:45 所属栏目:MsSql教程 来源:网络整理
导读:副标题#e# 我在我的大型Web应用程序中收到了很多死锁. How to automatically re-run deadlocked transaction? (ASP.NET MVC/SQL Server) 在这里,我想重新运行死锁事务,但我被告知要摆脱僵局 – 它比试图赶上死锁要好得多. 所以我花了一整天的时间用SQL Prof
从涉及的两个SELECT决定1)使用并行计划和2)使用页面锁定显然他们对整个Users表进行端到端扫描的事实.所以问题是,正如我所预测的那样,用户上缺少索引(名称,密码)会导致查询扫描过多的数据.添加索引会将SELECT转换为Nc索引上的直接SEEK和Clustered索引上的查找,这将大大减少与UPDATE重叠的窗口.现在UPDATE几乎可以保证与所有SELECT冲突,因为每个SELECT都保证读取每一行. 添加索引将缓解当前的问题.使用快照隔离将掩盖问题,因为除非添加(名称,密码)索引,否则仍将发生端到端扫描.或者只有(姓名)可能也会起作用. 为了将来的可扩展性,更新每个页面视图上的“视图”列将不起作用.延迟更新,批量聚合计数更新,垂直分区Users表和取出Views列是可行的替代方案. (编辑:应用网_阳江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- exchange-2010 – 盲SQL注入PCI失败
- 微软引领影音新时代,发布新Media Center
- 百度阿拉丁选秀启动增设三条“绿色通道”
- 解决 .NET Core 中 GetHostAddressesAsync 引起的 EnyimMem
- Windows将增加安全技术 杀毒厂商倍感威胁
- azure-sql-database – 从Azure中的WebJob访问SQL数据库
- sql – 在触发器中执行过程
- SQL Server 2008 RC0安装过程二:安装准备
- alter table alter SQL的SQL Server性能更改数据类型
- SQL * Plus不执行SQL Developer所执行的SQL脚本