从Web调用存储过程的速度较慢,从Management Studio调用存储过程的速度较快

我存储的过程在每次从Web应用程序中调用时都会疯狂地超时。


我启动了Sql Profiler,并跟踪了超时的调用,最后发现了这些东西:


在MS SQL Management Studio中使用相同的参数执行语句时(实际上,我从sql概要文件跟踪复制了过程调用并运行了它):平均在5到6秒内完成。

但是,当从Web应用程序调用时,它花费了超过30秒的时间(在跟踪中),因此我的网页到那时实际上已超时。

除了我的Web应用程序有自己的用户外,每件事都是相同的(相同的数据库,连接,服务器等),我还尝试了直接在Studio中与Web应用程序的用户一起运行查询,并且查询不超过6个秒


我如何找出正在发生的事情?


我假设这与我们使用BLL> DAL层或表适配器这一事实无关,因为该迹线清楚地表明延迟是在实际过程中进行的。这就是我能想到的。


我在此链接中发现EDIT,ADO.NET设置ARITHABORT为true-在大多数情况下都很好,但是有时会发生这种情况,建议的解决方法是向with recompile存储的proc 添加选项。就我而言,它不起作用,但我怀疑它与此非常相似。任何人都知道ADO.NET还能做什么或在哪里可以找到该规范?


慕慕森
浏览 535回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP