存储过程在查询分析器中的执行速度很快,在程序中的执行速度很慢的诡异问题
首先请大神!
如题,之前有一个存储过程,后来可能是改了一下,然后程序中运行起来特别的慢,但是我调试的过程中发现他在查询分析器中运行的速度惊人,程序中大概要执行50s,而在查询分析器中执行<=1s,我就震惊了。然后我就各种在网上找相关的问题,网上也有好多人遇到过类似的问题,但是我按照他们给的思路重做了之后无济于事,这下我彻底狂乱了,这是到这公司的第一天上班,搞杂了,明天继续。有没有高手能帮忙解决下这个问题了。
小弟拜上! C# SQL
[解决办法]
在程序中单步调试,看究竟是哪一步执行慢,就知道问题在哪了。没有代码,只能给你这点参考。
[解决办法]
你的所谓存储过程,返回给你的程序(不是查询分析器)多少条记录?
[解决办法]
你的代码太复杂了不好确定,何况我们根本不写存储过程。
你可以把返回变为 select count(*) from .......,这样再来客观地比较程序和查询分析器得到结果的速度。如果还是50s对1s的差距,那么真的很奇怪了。
[解决办法]
50s肯定有问题,
我是业余的程序员,说点自己的看法,
你在查询分析器里面执行快是因为存储过程的内存还没有释放,
就好比其他的查询,第一次查询会有点慢,第二次就会很快,这个大家应该都有感觉的吧?
所以问题出在你的存储过程上面,做的太复杂
你要想办法简化问题,
可以先创建一些视图
或者可以去C#里面处理逻辑判断之类的动作,
[解决办法]