Консольный запрос linq занимает больше времени по сравнению с SSMS - PullRequest
0 голосов
/ 11 июня 2018

Тестирование linq-запроса EF6 в консольном приложении.Вот подробности:

            Stopwatch sw = Stopwatch.StartNew();

            Console.WriteLine(sw.ElapsedMilliseconds);

            db.Database.Log = Console.Write;
            db.Users.Where(x => x.GroupId == 1407).ToList();  //Approx 7000 rows

            Console.WriteLine(sw.ElapsedMilliseconds);

Из вывода в окне консоли: В среднем выполнение запроса занимало 192 мс.Однако время открытия и закрытия соединения составляло около 7 секунд.Это также было отражено в ElapsedMilliseconds log.

Более того, я выполнил тот же самый сгенерированный запрос в SSMS, и это заняло то же время, и результат был выполнен в среднем за 3 секунды.

УчитываяПриведенная выше информация у меня есть 2 вопроса:

  1. Если выполнение занимает всего около 200 мс, почему для выполнения данных требуется больше времени?(Я полагаю, это из-за подключения к Интернету и загрузки данных на стороне клиента. Хотя не уверен)
  2. Почему между SSMS и консольным приложением такая огромная разница во времени?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...