Разработвам приложение .NET 4.0 на новонастроен десктоп с Windows 7. Заявките към отдалечената база данни са изключително бавни в това приложение. Същото приложение работи доста бързо на моя лаптоп, който използвах досега. Настолният компютър, който използвам сега, е много по-бърз от лаптопа. Използвам VPN връзка, за да се свържа с отдалечения db сървър (същия като на лаптопа). Бавно е както в IIS, така и в Cassini.
Трябва да добавя, че приложението използва Entity Framework за достъп до данни.
Някой има ли идея какъв може да е проблема?
АКТУАЛИЗАЦИЯ 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 Ако „Включа действителен план за изпълнение“ в студио за управление, заявката винаги е много бърза, без значение колко често я изпълнявам.