sql-server – 我有关于死锁的数据,但我无法理解它们为什么会发
发布时间:2021-01-20 23:21:55 所属栏目:MsSql教程 来源:网络整理
导读:我在我的大型Web应用程序中收到了很多死锁. How to automatically re-run deadlocked transaction? (ASP.NET MVC/SQL Server) 在这里,我想重新运行死锁事务,但我被告知要摆脱僵局 – 它比试图赶上死锁要好得多. 所以我花了一整天的时间用SQL Profiler,设置跟
|
从涉及的两个SELECT决定1)使用并行计划和2)使用页面锁定显然他们对整个Users表进行端到端扫描的事实.所以问题是,正如我所预测的那样,用户上缺少索引(名称,密码)会导致查询扫描过多的数据.添加索引会将SELECT转换为Nc索引上的直接SEEK和Clustered索引上的查找,这将大大减少与UPDATE重叠的窗口.现在UPDATE几乎可以保证与所有SELECT冲突,因为每个SELECT都保证读取每一行. 添加索引将缓解当前的问题.使用快照隔离将掩盖问题,因为除非添加(名称,密码)索引,否则仍将发生端到端扫描.或者只有(姓名)可能也会起作用. 为了将来的可扩展性,更新每个页面视图上的“视图”列将不起作用.延迟更新,批量聚合计数更新,垂直分区Users表和取出Views列是可行的替代方案. (编辑:均轻资讯网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- SQL Azure备份和还原策略
- sql-server – 内存优化表 – 它们真的难以维护吗?
- mssql server 数据库附加不上解决办法分享
- sql-server – 在调用数据库上下文时执行的中央存储过程
- sql-server – 恢复SQL数据库的最佳PowerShell脚本是什么?
- sql-server – 在不生成新快照的情况下将文章添加到事务发布
- sql-server – SQL Server 2005:复制SQL Server代理作业?
- Sql中session阻塞怎样处理,对阻塞你了解多少?
- sql-server – 我可以从SQL Server默认获得哪些事件信息?
- SQL Group和Sum By Month – 默认为零
站长推荐
热点阅读


