I m 在试图执行LINQ(-to-SQL)问询时,会遇到时间差错
系统.Data.SqlClient.SqlException: 停工。 运行完成之前或服务器尚未答复的未清期间。
现在,
- I run the equivalent SQL in SQL Management Studio and it completes quickly (2 seconds)
- I m setting my CommandTimeout to 2 minutes.
- When I execute the very same query in a unit test, it completes successfully and quickly. That is: I m only getting this timeout when I m running this query alongside other queries. The timeout always occurs at the same call.
最后一个项目使我想,我会陷入某种数据库方面的僵局:有些地方的僵局使问题受阻,而时间的缩短则导致中断的联系。
对这一想法的困扰是,Im only在数据目录中选择会造成问题。 (我的确在不同的数据库/数据库中插入。) 我也没有明确的交易。 这使我想起一点:问询行为正好像是一个僵局,但我从未陷入过一种僵局,这种僵局是由以前某种交易孤立问题造成的,而这里的情况(首先看一看问题)。
我期待着就如何缓解这一问题提出建议。 我应该研究什么事情来决定这一问题的原因?
EDIT
一些可能有用的说明:
- I m querying against a view that references:
- Other views in the same database
- Synonyms that point to tables in another database via a Linked Server.
- This view is using
union
to join the results of several queries together
EPILOGUE
最后,我通过重新处理我的询问,解决了核心问题。 原来的表格不止一次(通过不同的观点)。 重新编造的版本绕过了所有这些内容,时间已经消失。