存储过程需要更多时间来执行(Sql Server 2005)

我已经实现了一个存储过程,从网页调用这个存储过程需要300ms以上的时间,但是当在网页中写脚本并调用url时,它在50ms内执行

需要什么步骤来减less执行存储过程的时间。 为什么sp比页面中的db脚本占用更多的时间

查询计划是“隐藏”窗口中的窗口,以查看SQL Server运行查询(包括存储过程)的方法。 查看查询计划正在做什么,并使用索引和更新统计信息进行适当优化。

您还可以使用SQL Server Profiler来优化查询。 使用“重播”模板运行跟踪,然后将跟踪馈送到数据库引擎优化顾问。 这将给出(并且可以实现)关于数据库元数据的build议,这将使得SQL Server能够最好地运行。

第一次执行时,存储过程会被编译并存储在过程高速caching中 – 使用当时提供的参数。

因此,caching的执行计划可能不适合您当前正在testing的参数集。 尝试一个dbcc freeproccache并再次testing。

如果可行,那么你可能要考虑在存储过程中添加一个WITH RECOMPILE提示来强制每次执行时重新编译。