我正在新设置的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
我为此浪费了很多时间。如果有人有任何指点,您将永远在我的酷人书中。
更新2 如果我在Management Studio中“包括实际执行计划”,则无论我执行频率如何,查询总是非常快。
最终,经过几天的尝试,尝试了各种不同的设置,甚至重新安装了所有内容(包括Windows),我终于找到了问题所在。是-我仍然不敢相信-网卡设置。我禁用了“ IPv4校验和卸载”,“大发送卸载(IPv4)”,“ TCP校验和卸载(IPv4)”和“ UDP校验和卸载(IPv4)”。现在它又好又快…