我有一个非常恶心的存储过程,几个月前并不慢,但现在是。我几乎不知道这件事是什么,我也没有兴趣重写它。Sql Server 2000存储过程阻止并行或什么?
我知道,如果我拿着存储过程的主体,然后声明/设置参数值并在查询分析器中运行它,它运行速度提高了20倍以上。
从互联网上,我读到,这可能是由于一个不好的缓存查询计划。所以,我试过在EXEC之后用“WITH RECOMPILE”运行sp,并且我也尝试过在内部放置“WITH RECOMPLE”,但这两者都没有帮助。
当我查看sp与查询的执行计划时,最大的区别是sp在整个地方都有“并行性”操作,查询没有任何操作。这可能是速度差异的原因吗?
谢谢,任何想法都会很棒......我被卡住了。
我很难编码我的参数。我在查询分析器中字面上有以下内容。创建程序someProc(@a int)*** body *** go EXEC someProc 5 ------------------------------- - 声明@a int set @ a = 5 *** body ***我突出了EXEC语句,它需要24秒。我强调了这个查询,它需要1秒。 – 2010-03-19 14:25:17