Sql 为什么要修改和运行存储过程;修正案;信息技术

Sql 为什么要修改和运行存储过程;修正案;信息技术,sql,sql-server,stored-procedures,Sql,Sql Server,Stored Procedures,所以我有一个存储过程,它搜索了很多公司,突然变得非常慢(4000行20-30秒,选择了两列) 问题已经解决了,但我不明白为什么 我所做的事情是,我进入SQLServerManagementStudio并修改了存储过程——运行ALTERSP语句,但实际上没有编辑SP所做的任何事情 现在它的燃烧速度和它应该的一样快,几乎不需要几毫秒 我的问题是,为什么他妈的能修好它?我没有编辑SP本身的任何内容,只是将其更改为当前状态。通过重新提交存储过程,您可以强制重新编译它;这也会清除它的任何缓存查询计划。如果

所以我有一个存储过程,它搜索了很多公司,突然变得非常慢(4000行20-30秒,选择了两列)

问题已经解决了,但我不明白为什么

我所做的事情是,我进入SQLServerManagementStudio并修改了存储过程——运行ALTERSP语句,但实际上没有编辑SP所做的任何事情

现在它的燃烧速度和它应该的一样快,几乎不需要几毫秒


我的问题是,为什么他妈的能修好它?我没有编辑SP本身的任何内容,只是将其更改为当前状态。

通过重新提交存储过程,您可以强制重新编译它;这也会清除它的任何缓存查询计划。如果存储过程使用了大量条件逻辑,则查询计划可能会被缓存以用于非典型查询,而与慢速查询相比

通过重新提交存储过程,可以强制重新编译它;这也会清除它的任何缓存查询计划。如果存储过程使用了大量条件逻辑,则查询计划可能会被缓存以用于非典型查询,与慢速查询相比

要添加到Smith博士的注释中,请在创建SP时查看
WITH RECOMPILE
选项。每次运行SP时,它都会强制编译SP。只有您才能知道它是否提供了性能的净改善。要添加到Smith博士的评论中,请在创建SP时查看带有重新编译的
选项。它将在每次运行SP时强制编译SP。只有您才能知道它是否提供了性能的净改善。