V databázi mám pouze jediný řádek. Volám to takto:
IEnumerable<Item> items = context.Items.Where(s => s.UserId == userId);
Vygeneruje to toto sql:
SELECT
[Extent1].[Id] AS [Id],
[Extent1].[Name] AS [Name],
[Extent1].[Practised] AS [Practised],
[Extent1].[SourceLangId] AS [SourceLangId],
[Extent1].[TargetLangId] AS [TargetLangId],
[Extent1].[UserId] AS [UserId]
FROM [dbo].[Dictionary] AS [Extent1]
WHERE ([Extent1].[UserId] = @p__linq__0) AND (@p__linq__0 IS NOT NULL)
Když toto sql zavolám přímo z ado.net, tak query trvá mžiknutí oka. Pravděpodobně je to způsobeno někde po cestě mezi sql a přesunet dat do entit, nebo se možná pokouší databázi vytvořit na začátku znova. Na lokále to podle profileru volá opravdu pouze toto sql, na hostingu bohužel profiler nemám. I tak to ale na lokále trvá skoro 2 sec, což je moc. Na hostingu pak 10-15sec.
|