Я профилирую некоторые запросы MS SQL с помощью SQL Server Profiler для моего приложения C #, которое я разрабатываю с помощью Visual Studio и IIS Express:
Продолжительность, указанная для события «Аудит выхода из системы» (16876 мс), представляет собой общее время между входом в систему и выходом из системы. Продолжительность запроса составляет всего 60 мс.
События входа / выхода из системы связаны с установкой / отключением.
Из Что такое аудит выхода из системы в SQL Server Profiler?
Я хотел бы более подробно разобраться в разнице во времени в 16816 мс (= 16876 мс - 60 мс).
а) Можно ли регистрировать больше событий (например, в «режиме отладки»)?
б) Правильно ли предположить, что разница во времени связана только с разрывом, потому что время окончания события «Audit Login» совпадает с временем начала выполнения запроса?
c) Есть ли какой-нибудь другой инструмент для анализа (настройки и) времени простоя?
г) Зависит ли разница во времени от моего запроса? Другими словами: поможет ли оптимизация запроса уменьшить эту разницу во времени?
Что я до сих пор наблюдал для @DevTime, так это то, что имеет значение, если я запускаю свое приложение в первый раз (IIS Express запускается Visual Studio, база данных создается с использованием структуры сущностей, пример данных записывается в базу данных) или если Второй раз запускаю, когда база данных уже существует.
Для входа в систему после первого запуска разница во времени примерно на 15 с больше, чем для входа в систему после второго запуска. Запрос, отмеченный в приведенном выше примере, выполняется после входа пользователя в систему. Поэтому я ожидал, что инициализация базы данных уже была завершена в это время и что инициализация не повлияет на разницу во времени. Тем не менее, похоже, это имеет влияние.
Некоторые статьи по теме: