我在 SQL Server 2012 中有一个优化的查询,它持续运行大约 1-3 秒。
当我在 SSMS 中运行它时,它运行得很快,但是当应用程序执行它时(通过sp_executesql
),它真的很慢,对于较大的数据大约需要 13 分钟。
在应用程序中进行一些挖掘和阅读之后,在 SSMS 中速度很快?,我得出结论,参数嗅探有问题(有一个参数)。
我禁用了它,OPTION (QUERYTRACEON 4136)
它可以快速运行sp_executesql
。
这是一个好主意(我应该保留禁用参数嗅探的选项)还是我应该调整查询以使其与sp_executesql
参数嗅探一起使用?