我们正在使用SQL Server 2005数据库(没有行版本)与一个巨大的选择语句,我们看到它阻止其他语句运行(使用sp_who2看到).我没有意识到SELECT语句可能会导致阻塞 – 有什么可以做的来减轻这个吗?
解决方法
SELECT可以阻止更新.正确设计的数据模型和查询只会导致最小的阻塞,而不是一个问题. “通常”WITH NOLOCK提示几乎总是错误的答案.正确的答案是调整查询,以免扫描巨大的表.
如果查询不可用,那么您应该首先考虑SNAPSHOT ISOLATION level,第二个应该考虑使用DATABASE SNAPSHOTS,最后一个选项应该是DIRTY READS(最好是更改isolation level而不是使用NOLOCK提示).请注意,如清楚所述,脏读取将返回不一致的数据(例如,您的总表可能不平衡).
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。