我有个一store procedure, 有时候早上来到第一次运行要2分钟,但再次运行只需要2秒,这是什么原因? 我想可能是Index的问题或是Catch的问题,这个store procedure里有运行几个table,有两个table里有5,6个index. 请教高手...

解决方案 »

  1.   

    通常测试sql的执行速度要在没有任何干扰下执行三次以上的时间取平均值才是准确的
    如果你了解sqlserver执行sql的允许原理就会明白一些,主要运用了高速缓存,与OS中的
    "工作集"理论有些类似.
        还有慢的原因也有可能表锁或阻塞造成.
      

  2.   

    dbcc memusage
    可以查看当前Cache的情况
    前半部分显示的是Cache中保存的表或者索引
    后半部分显示的是编译好的存储过程、触发器、函数等
      

  3.   

    重启电脑后看是不是还要2分钟
    -----------
    www.vicmiao.com
    努力就有美好时光!