【发布时间】:2015-12-13 22:08:48
【问题描述】:
由于 SQL Server 中的参数嗅探,我们遇到了性能问题。我们的应用程序将 NHibernate 与 LINQ 提供程序一起使用。
我正在寻找一种方法,例如将“OPTION(RECOMPILE)”添加到某个 SQL 查询中。我现在可以为此使用拦截器,但我希望它只添加到某些 IQueryable 查询中。所以不是我所有的休眠查询,因为那样我会失去查询计划缓存的优势。
也欢迎使用 NHibernate 解决对 1 个特定查询的参数嗅探的其他选项。
【问题讨论】:
-
我们已经偶然发现了这个链接,但是它使用了一个依赖于 IQuery 接口的实现,而我们使用的是 IQueryables。我现在没有办法通过 IQueryables 向 SQL 查询添加注释。
标签: sql sql-server linq nhibernate parameter-sniffing