使用 SQL 探查器,我能够找到从 Nhibernate 生成的查询是在
EXEC sp_executesql N'select ...'
时尚。
我想知道是否有任何方法可以强制 Nhibernate 生成平原
Select ...
而是声明。
我想要这个的原因是因为显然 SQL Server 为它们生成了不同的执行计划,在我的场景中,普通的“select ...”运行得更快。
------更新----- 2012 年 11 月 30 日
我刚找到这个链接Why does sp_executesql run slow when parameters are passed as arguments
而且我相信流行的答案(到目前为止有 4 票赞成)很好地解释了原因。
所以现在的问题是
我可以使用 nhibernate 生成直接查询而不是参数化查询吗?