6
从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还有什么功能,或者在哪里可以找到该规范?