同一個plsql中function
只是執行的時間不同,差別會差很多,可能原因是什么呢?
我第一次執行  運行了70s   然后運行了50s   然后運行了5s~
為什么會差這么多了    db的 server是同一個

解决方案 »

  1.   

    连续的执行某个SQL,就是这种效果,一切皆源于cache, 也才有命中率等概念。
      

  2.   

    同意一楼的说法,这里应该涉及到ORACLE的一个记忆功能。
      

  3.   

    cache 會有多大  這個該怎么看呢 ?
    也就是說  大概可以記憶多少次的  這樣的function~ 
      

  4.   

    映像中是这样说的:
    ORACLE的对象分为匿名的和命名的,在第一次执行这个function的时候ORACLE需要对其进行编译,将其保存在缓存中,后来在调用的时候,就可以不经编译直接调用了,所以第一次用的时间多,后来用的时间少。记得不是很清楚了,还请高手们指证哈!