我正在新设置的 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如果我在管理工作室中“包括实际执行计划”,则查询总是非常快,无论我执行的频率如何。