【发布时间】:2013-04-01 11:07:00
【问题描述】:
需要一些帮助来解决这个错误:
查询处理器用尽了内部资源,无法 生成查询计划。这是一个罕见的事件,只预计 极其复杂的查询或引用非常大的查询 表或分区的数量。请简化查询。如果你 相信您错误地收到了此消息,请联系客户 支持服务了解更多信息。
SQL 查询:(我只是输入其中一个查询。我运行了 9 个这样的查询)
var query1 = from article in _db.Articles
from scl in article.Scls
where article.publishDate < DateTime.Now
&& article.removalDate > DateTime.Now
&& article.finished == true
&& article.flagged== true
&& listOfScl.Contains(scl.id)
select article;
var query2 = from article in _db.Articles
from com in article.Coms
where article.publishDate < DateTime.Now
&& article.removalDate > DateTime.Now
&& article.finished == true
&& article.flagged== true
&& listOfCom.Contains(com.id)
select article;
query = (query1.Union(query2)).Distinct();
不知道查询它工作正常但在 SQL Server 上出现一些性能问题。
我需要一些帮助来避免此类错误并在不使用 UNION 的情况下重新编写此 SQL 查询。
提前致谢。
【问题讨论】:
-
这是 .NET
LINQ to SQL吗?绝对不是正常的 SQL 语法。看来您的主要问题是使用 ORM 工具,但不知道您正在使用 ORM 工具... -
是的,使用 .NET LINQ to SQL
-
为了帮助我们提高 SQL 性能,您需要提取数据库上实际运行的查询,以便我们了解发生了什么。
-
@N West - 很长的查询。要我把它放在这里吗?
标签: sql sql-server linq