sql-server – SQL Server SELECT语句导致阻塞
发布时间:2020-12-12 16:20:58 所属栏目:MsSql教程 来源:网络整理
导读:我们正在使用SQL Server 2005数据库(没有行版本)与一个巨大的选择语句,我们看到它阻止其他语句运行(使用sp_who2看到).我没有意识到SELECT语句可能会导致阻塞 – 有什么可以做的来减轻这个吗? 解决方法 SELECT可以阻止更新.正确设计的数据模型和查询只会导致
我们正在使用SQL Server 2005数据库(没有行版本)与一个巨大的选择语句,我们看到它阻止其他语句运行(使用sp_who2看到).我没有意识到SELECT语句可能会导致阻塞 – 有什么可以做的来减轻这个吗?
解决方法SELECT可以阻止更新.正确设计的数据模型和查询只会导致最小的阻塞,而不是一个问题. “通常”WITH NOLOCK提示几乎总是错误的答案.正确的答案是调整查询,以免扫描巨大的表.如果查询不可用,那么您应该首先考虑SNAPSHOT ISOLATION level,第二个应该考虑使用DATABASE SNAPSHOTS,最后一个选项应该是DIRTY READS(最好是更改isolation level而不是使用NOLOCK提示).请注意,如清楚所述,脏读取将返回不一致的数据(例如,您的总表可能不平衡). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |