首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >sql report 3.0死锁

sql report 3.0死锁
EN

Stack Overflow用户
提问于 2015-07-03 11:43:55
回答 1查看 30关注 0票数 0

当我需要在同一个表上查询两个不同的销售报表时,遇到了死锁。

对两个报表的查询均为

代码语言:javascript
运行
复制
select * from tableA
inner join tableB on ...
inner join tableC on ...

我对这两个销售报告的解决方案

代码语言:javascript
运行
复制
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
select * from tableA
inner join tableB on ...
inner join tableC on ...
SET TRANSACTION ISOLATION LEVEL READ COMMITTED

这是正确的解决方案吗?

我认为销售报告不会准确,因为会有恶意阅读。

EN

回答 1

Stack Overflow用户

发布于 2015-07-03 12:41:53

通常,您不会仅仅通过在同一个表上使用两个SELECTS来获得死锁。你有没有一些进程在写它?这是整个报表代码吗?您在报告中使用生产表还是它们的复制副本?这一切都可能会被算入其中。

我建议您运行SQL Profiler (服务器端跟踪)来运行跟踪并检查结果。通常,您应该会找到死锁图,这意味着您可以准确地确定哪个查询在另一个查询之前运行,并且与另一个查询冲突。

作为一种解决方法,您可以使用您的解决方案,但也只是作为一种解决方法。你可能会有很高的不精确度。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31198075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档