对SQL Server并行执行的查询会增加执行时间

时间:2014-07-23 07:29:59

标签: c# sql ajax sql-server-2012 asp.net-mvc-5

我有一个ASP.NET MVC 5应用程序和SQL Server 2012.我想同时加载几个AJAX查询的数据,以使其更快。

我已将[SessionState(SessionStateBehavior.ReadOnly]属性添加到我的控制器中,以便我可以并行处理所有AJAX请求。

在操作中,我使用Linq-to-SQL执行数据库查询。查询非常繁重,大约需要4秒钟才能执行。

问题在于,当我执行时,让我们说,一次只有4个AJAX请求,我只能在16秒后得到响应。我查看了SQL Server分析器,在这种情况下,每个请求确实需要大约16秒而不是4秒。

我已经厌倦了将事务隔离级别设置为READUNCOMITTED以避免在没有帮助的情况下进行读锁定。

我在SQL Server上并不擅长,因此非常感谢您对此问题或任何想法的任何帮助。

编辑:每次我使用不同的参数值执行相同的查询,OPTION(RECOMPILE)如果这会产生任何差异。需要重新编译以防止参数嗅探。

0 个答案:

没有答案