4

我有一个由 DataContext 对象调用的查询,该对象正在创建一个效率极低的执行计划。我想在查询中添加“OPTION(RECOMPILE)”查询提示,但我不知道如何将此查询提示添加到 DataContext 对象的查询中。

我运行 SQL 跟踪以捕获查询。我按原样手动运行它,花了将近四分钟,通过将“OPTION(RECOMPILE)”添加到查询中,它将运行时间减少到一秒。该查询包含许多变量、一对表值函数和一个带有嵌入式表值函数的视图。所有输入变量都是数字。两次执行之间的查询计划非常不同。

我不需要帮助优化代码来避免糟糕的执行计划;如果我需要走这条路,我可以自己做。我只需要知道是否有办法将 OPTION(RECOMPILE) 查询提示添加到我的 Linq 查询中。我不会发布代码,这与我的问题无关。

如果可以添加重新编译查询提示,请让我知道如何,如果不可能,请提供指向某些文档的链接,表明这是这种情况,我将不胜感激。

我使用 SQL Server 2012 作为我的 rdbms。

4

1 回答 1

1

EF 请求在未来添加提示存在问题 - http://entityframework.codeplex.com/workitem/261

如果幸运的话,它将进入 EF 6。

于 2013-02-19T22:54:35.747 回答