sql server 2008 -相同的SPROC,不同的名字,当从c#调用时执行不同

本文关键字:当从 调用 执行 2008 SPROC sql server | 更新日期: 2023-09-27 17:53:34

我有两个相同的存储过程,但具有不同的名称。当我从c#中调用Sproc A时,与Sproc b相比,我得到了更快的整体响应。当我在SSMS中运行每个Sproc并包含执行计划时,我得到了非常接近相同的结果。你知道是什么导致了这种差异吗?

sql server 2008 -相同的SPROC,不同的名字,当从c#调用时执行不同

是否传递相同的参数?我相信进程在第一次编译时会收到一个查询计划,该计划基于所传递的参数。因此,它们可能有不同的查询计划,这取决于它们最初被调用的方式。作为测试,在它们上运行sp_recompile,并确保它们第一次都使用相同的参数调用,以便它们获得相同的查询计划。