1

由于 SQL Server 中的参数嗅探,我们遇到了性能问题。我们的应用程序将 NHibernate 与 LINQ 提供程序一起使用。

我正在寻找一种将例如“OPTION(RECOMPILE)”添加到该特定 SQL 查询的方法。我现在可以为此使用拦截器,但我希望它只添加到某些 IQueryable 查询中。所以不是我所有的休眠查询,因为那样我会失去查询计划缓存的优势。

也欢迎使用 NHibernate 解决 1 个特定查询的参数嗅探的其他选项。

4

1 回答 1

0

使用查询计划指南为其指定优化。

这是一个基本的演练:http ://realsqlguy.com/dont-get-slimed-bad-parameter-sniffing/

虽然这在服务器端修复了它,但您需要找到导致问题的查询,找到正确的计划,并为其生成计划指南。也许下一版本的 SQL Server 将解决一些参数嗅探问题。

于 2015-09-17T07:12:35.890 回答