Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 执行官<;存储过程>;极其缓慢_Sql_Sql Server_Stored Procedures_Ssms_Bids - Fatal编程技术网

Sql 执行官<;存储过程>;极其缓慢

Sql 执行官<;存储过程>;极其缓慢,sql,sql-server,stored-procedures,ssms,bids,Sql,Sql Server,Stored Procedures,Ssms,Bids,我有一个非常大的存储过程,它只接受一个参数@date。当我突出显示SQL代码并点击execute时,查询大约在25秒内运行。但如果我尝试在单独的窗口中使用以下命令运行存储过程: Exec <Stored Procedure> @date = '2013-10-16' 设置参数。当你说如果你声明参数变量并手动运行sql,它会运行得很快,但是当你通过投标运行它时,我想到了参数嗅探 尝试在SP中声明一个变量,然后首先将参数的值指定给这个新的局部变量,然后在SP中的任何位置使用该局部变量

我有一个非常大的存储过程,它只接受一个参数
@date
。当我突出显示SQL代码并点击execute时,查询大约在25秒内运行。但如果我尝试在单独的窗口中使用以下命令运行存储过程:

Exec <Stored Procedure> @date = '2013-10-16'

设置参数。

当你说如果你声明参数变量并手动运行sql,它会运行得很快,但是当你通过投标运行它时,我想到了参数嗅探

尝试在SP中声明一个变量,然后首先将参数的值指定给这个新的局部变量,然后在SP中的任何位置使用该局部变量


有关更多信息:

我会检查进程中使用的源表,请参见1。它们有多大,有2个。索引和索引碎片。请尝试清除sql执行计划。使用存储过程的create/alter语句突出显示代码将创建/保存存储过程。在第二个窗口中,您实际上是在执行过程以产生结果,如果需要花费很多时间,可能是索引问题,或者数据量太大而无法处理,请使用执行计划检查哪里需要更多的数据slow@AshwinChandran不幸的是我没有权限在我目前的职位上运行它,我会看看是否能找到人来做这件事。@Juan Garcia当我突出显示代码时,我没有包括Create/alter部分,只有代码部分,它实际上返回了一个查询所需的值表。我在哪里可以找到执行计划?我以前从未见过。哇,我从来没有想到过,这很有效!非常感谢。
Declare @date as date = '2013-10-16'