【问题标题】:A Sybase stored procedure runs faster the second time it is runSybase 存储过程在第二次运行时运行得更快
【发布时间】:2013-03-23 19:22:20
【问题描述】:

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

在创建这个存储过程时,我使用了with recompile 选项。所以它不应该为存储过程保存任何计划。每次执行过程都会创建新的计划。

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

【问题讨论】:

    标签: sql performance sybase


    【解决方案1】:

    这很可能是因为 sybase 内部缓存。
    所以第一次将相关数据存储在缓存中,这就是为什么第二次更快。

    您可以与sp_helpcache 联系以查看已配置的内容。

    【讨论】:

    • 在创建存储过程时,我正在使用重新编译选项。所以它不会为 sp 保存任何计划。每次程序执行时它都会创建新的计划。
    • 有不同类型的缓存:Procedure cacheData cache。你是对的,procedure cache 不会被使用,并且会创建一个新的计划,但是data cache 仍然可以使用,可能是索引或表被第二次缓存了。
    猜你喜欢
    • 2020-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-14
    • 2021-05-29
    • 1970-01-01
    相关资源
    最近更新 更多