powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Скорость выполнения запроса в EF
6 сообщений из 6, страница 1 из 1
Скорость выполнения запроса в EF
    #39719279
FuryBrew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

Помогите разобраться в ситуации:


Написал запрос к dbContext вида:

Код: c#
1.
2.
3.
4.
bool b = db.t_M_Log
       .Any(w => 
            w.IdUser == 4000000
            &&  w.Token == token);



Скорость выполнения этого LINQ-запроса около 30 мс.

Далее я скопировал то, что сгенерил EF:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SELECT 
    CASE WHEN ( EXISTS (SELECT 
        1 AS [C1]
        FROM [dbo].[t_M_Log] AS [Extent1]
        WHERE ([Extent1].[IdUser] = @p__linq__0) AND (@p__linq__0 IS NOT NULL) AND ((([Extent1].[Token] = @p__linq__1) AND ( NOT ([Extent1].[Token] IS NULL OR @p__linq__1 IS NULL))) OR (([Extent1].[Token] IS NULL) AND (@p__linq__1 IS NULL)))
    )) THEN cast(1 as bit) WHEN ( NOT EXISTS (SELECT 
        1 AS [C1]
        FROM [dbo].[t_M_Log] AS [Extent2]
        WHERE ([Extent2].[IdUser] = @p__linq__0) AND (@p__linq__0 IS NOT NULL) AND ((([Extent2].[Token] = @p__linq__1) AND ( NOT ([Extent2].[Token] IS NULL OR @p__linq__1 IS NULL))) OR (([Extent2].[Token] IS NULL) AND (@p__linq__1 IS NULL)))
    )) THEN cast(0 as bit) END AS [C1]
    FROM  ( SELECT 1 AS X ) AS [SingleRowTable1]



и выполнил этот запрос в SQL Server Management Studio.

При этом запрос выполнился за 380 мс.

Мое замешательство очевидно: почему такая разница в выполнении одного и того же запроса?
...
Рейтинг: 0 / 0
Скорость выполнения запроса в EF
    #39719284
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно попробовать поискать ответ тут
http://www.queryprocessor.ru/fast-in-ssms-slow-in-app-part1/
...
Рейтинг: 0 / 0
Скорость выполнения запроса в EF
    #39719645
stenford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поймай запрос в SQL Profiler, запусти, и сравни планы. Могут влиять дефолтные установки студии и EF
...
Рейтинг: 0 / 0
Скорость выполнения запроса в EF
    #39719759
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FuryBrewМое замешательство очевидно: почему такая разница в выполнении одного и того же запроса?
Медленно в приложении, быстро в SSMS (часть 1)
Медленно в приложении, быстро в SSMS (часть 2)
Медленно в приложении, быстро в SSMS (часть 3)
...
Рейтинг: 0 / 0
Скорость выполнения запроса в EF
    #39719777
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Мух,

повтор на втором игроке )
...
Рейтинг: 0 / 0
Скорость выполнения запроса в EF
    #39719792
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

не повтор, а дополнение
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Скорость выполнения запроса в EF
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]