SPROC从.NET慢,但比SSMS快5倍

时间:2017-08-16 15:26:28

标签: sql sql-server database-performance sqlperformance database-tuning

我已经按照类似问题的答案,包括设置ARITHABORTH ON / OFF,使用DBCC DROPCLEANBUFFERS和DBCC FREEPROCCACHE清除缓冲区。还尝试将参数转换为局部变量。但仍然存在性能问题。

enter image description here

如截图所示,SSMS中的相同过程大约需要625毫秒,但是从.NET客户端开始大约需要3.5秒。

有趣的是数据读取也不同。 " Binary" column有一些.NET客户端的数据,但不适用于SSMS,但我不是专家,不知道为什么。

非常感谢任何帮助。

技术:SQL SERVER 2016标准

基础表包含大约300万行 该程序采用的参数通常非常相似。

再次感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

因为我使用的是实体框架,所以我的应用程序中的连接字符串具有MultipleActiveResultSets = True。当我从连接字符串中删除它时,查询在.NET和SSMS中具有相同的性能。