Sql Sybase存储过程在第二次运行时运行得更快

Sql Sybase存储过程在第二次运行时运行得更快,sql,performance,sybase,Sql,Performance,Sybase,我在sybase中有一个存储过程,第一次运行要比之后直接运行花费更多的时间 创建此存储过程时,我使用了带重新编译的选项。所以它不应该为存储过程保存任何计划。每次程序执行时,它都会创建新的计划 为什么存储过程在第二次运行时运行得更快?这很可能是因为sybase内部缓存的缘故。 因此,第一次将相关数据存储在缓存中,这就是为什么第二次速度更快 您可以使用sp\u helpcache查看配置的内容。在创建存储过程时,我正在使用“重新编译”选项。因此,它不会为sp保存任何计划。每次执行过程时,它都会创建新

我在sybase中有一个存储过程,第一次运行要比之后直接运行花费更多的时间

创建此存储过程时,我使用了带重新编译的
选项。所以它不应该为存储过程保存任何计划。每次程序执行时,它都会创建新的计划


为什么存储过程在第二次运行时运行得更快?

这很可能是因为sybase内部缓存的缘故。
因此,第一次将相关数据存储在缓存中,这就是为什么第二次速度更快


您可以使用
sp\u helpcache
查看配置的内容。

在创建存储过程时,我正在使用“重新编译”选项。因此,它不会为sp保存任何计划。每次执行过程时,它都会创建新的计划。有不同类型的缓存:
过程缓存
数据缓存
。您是对的,将不使用
过程缓存
,并将创建一个新计划,但是
数据缓存
仍然可以使用,并且可能是索引或表在第二次缓存。