问题描述
因此,我有一个查询,有时在C#Web API应用程序中超时。它将很好地开始,然后在将来的某个时候它将开始超时,然后从超时开始,除非进行了某些操作。
查询是使用Dapper构造的,当我在服务器上运行跟踪时,我可以接收到有问题的查询。如果我在我的机器上按原样运行它(它使用exec.sp_executesql N'query'),它也需要花费一些时间才能运行。我把它交给我的同事,对他来说只需要2秒钟即可运行。这是我的第一个问题,如果相同的查询仍在使用相同的服务器和数据库,为什么在不同的计算机上执行相同的查询会产生显着差异?
第二,如果我进行文本查询并将其转换为普通的t-sql并运行它,则只需再花费2秒。这导致我最可能的原因,但也有疑问,这是参数嗅探导致性能下降的情况吗?
我尝试运行与跟踪所捕获内容完全相同的查询,并在末尾添加"
,然后在2秒内运行。以前,我还可以通过在查询所使用的主表上的索引严重分散来重建索引,从而解决问题。但是,今天第一次没有任何效果。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)