.NET 到远程 SQL Server 在一台计算机上速度较慢,在另一台计算机上则不然

2023-12-12

我正在新设置的 Windows 7 桌面上开发 .NET 4.0 应用程序。在该应用程序中,对远程数据库的查询非常慢。相同的应用程序在我到目前为止一直使用的笔记本电脑上运行得非常快。我现在使用的台式机比笔记本电脑快很多。我正在使用 VPN 连接来连接到远程数据库服务器(与笔记本电脑上相同)。 IIS 和 Cassini 中的速度都很慢。

我应该补充一点,该应用程序正在使用实体框架进行数据访问。

有谁知道问题可能是什么?

更新1:好吧,这真的变得很奇怪。我在笔记本电脑和台式机上查看了 SQL Server Profiler 中的查询。他们都是一样的。但在我的桌面上,查询的执行时间越来越长。因此,我在桌面上启动了 Management Studio,并执行了从 SQL Server Profiler 中获取的查询。它运行得非常快(不到一秒)。但当我再次执行时,花了1秒。然后,2 秒,然后 4 秒(看到模式了吗?)。我一生都无法弄清楚是什么导致了这种情况。这是查询:

    select top (2) [Extent1].[RequestID] AS [RequestID], 
[Extent1].[RequestDate] AS [RequestDate], 
[Extent1].[RequestTitle] AS [RequestTitle], 
[Extent1].[RequestTypeID1] AS [RequestTypeID1], 
[Extent1].[RequestTypeID2] AS [RequestTypeID2], 
[Extent1].[SubjectMatterID1] AS [SubjectMatterID1], 
[Extent1].[SubjectMatterID2] AS [SubjectMatterID2], 
[Extent1].[ProviderID] AS [ProviderID], 
[Extent1].[Description] AS [Description], 
[Extent1].[Notes] AS [Notes], 
[Extent1].[RequestedBy] AS [RequestedBy], 
[Extent1].[OrganisationID] AS [OrganisationID], 
[Extent1].[ProgramID] AS [ProgramID], 
[Extent1].[StatusID] AS [StatusID], 
[Extent1].[MethodID] AS [MethodID], 
[Extent1].[StaffID] AS [StaffID], 
[Extent1].[TopicID] AS [TopicID], 
[Extent1].[RequestCreatedBy] AS [RequestCreatedBy], 
[Extent1].[RequestCreatedOn] AS [RequestCreatedOn], 
[Extent1].[RequestModifiedBy] AS [RequestModifiedBy], 
[Extent1].[RequestModifiedOn] AS [RequestModifiedOn], 
[Extent1].[RequestedByExtraID] AS [RequestedByExtraID]
FROM [dbo].[Request] AS [Extent1]

可是等等!事情变得更奇怪了!无论我执行的频率如何,以下查询始终花费相同的时间(不到一秒):

select top (2) * From request

我在这上面浪费了大量的时间。如果有人有任何指点,你将永远出现在我的酷人书中。

UPDATE 2如果我在管理工作室中“包括实际执行计划”,则查询总是非常快,无论我执行的频率如何。


最后,经过几天的尝试各种不同的设置,甚至从头开始重新安装所有东西(包括 Windows),我以某种方式解决了这个问题。这是 - 我仍然不敢相信 - 网卡设置。我禁用了“IPv4 校验和卸载”、“大发送卸载 (IPv4)”、“TCP 校验和卸载 (IPv4)”和“UDP 校验和卸载 (IPv4)”。现在又好又快...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.NET 到远程 SQL Server 在一台计算机上速度较慢,在另一台计算机上则不然 的相关文章

随机推荐