加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

sql-server – 我有关于死锁的数据,但我无法领略它们为什么会发

发布时间:2021-01-18 16:22:47 所属栏目:编程 来源:网络整理
导读:我在我的大型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列是可行的更换方案.

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读