Я выполняю импорт данных (используя C # / Linq) и, естественно, пытаюсь максимально оптимизировать свои запросы. С этой целью я запускаю трассировку в БД с помощью SQL Server Profiler, при этом моя трассировка фильтруется по моему имени входа в SQL (это имя может быть однозначно присвоено моему процессу импорта данных).
Как ни странно, большинство моих SQL-операторов действительно быстрые :) - очень немногие запросы даже прерывают отметку в 1 мс. Но между всеми моими запросами есть несколько строк, где EventClass - это «Audit Login» или «Audit Logout», а продолжительность «Audit Logout» может составлять до минуты!
Связано ли это с тем, что я использую транзакции при импорте? Если да, то есть ли способ найти самые популярные запросы, чтобы я мог их очистить?
источник
Ответы:
Если я правильно помню, длительность выхода из системы аудита - это время, в течение которого соединение было открыто. Например, ничего общего со скоростью выполнения команды - просто количество времени, в течение которого логин был «авторизован».
источник
Reads
ответы на измерение времени?Reads
столбец представляет не строки, возвращаемые запросами, а количество операций чтения с логического диска. Запрос, который даже ничего не возвращает, может сканировать всю таблицу из 1 миллиона записей в поисках ничего, что нужно вернуть, что приведет к очень большому количеству чтений. Таким образом, количество чтений на самом деле не коррелирует естественным образом с количеством запросов.События входа в систему / выхода из системы связаны с установкой / отключением. IIRC время - это «время входа в систему», в отличие от продолжительности обработки, как для других событий журнала.
Как правило, эти события скрываются, если вы не подозреваете, что существует проблема с управлением пулом соединений и т. Д.
Необработанное время для пакетов должно быть достаточным для диагностики времени, которое занимает фактическая активность, включая влияние любых транзакций и т. Д.
источник
Класс события «Аудит выхода из системы» указывает, что пользователь вышел из системы Microsoft SQL Server (вышел из нее). События в этом классе запускаются новыми соединениями или соединениями, которые повторно используются из пула соединений.
это общее время, в течение которого соединение было подключено, включая время простоя, поэтому оно не указывает на проблему с производительностью. Также очень маловероятно, что профилирование входов / выходов вызовет проблемы с производительностью. Лучше искать неэффективные запросы, возможно, долго выполняющиеся.
Для получения дополнительной информации я предлагаю https://msdn.microsoft.com/en-us/library/ms175827.aspx :)
источник
Также стоит отметить, что в этом ответе аудит входа / выхода может просто означать, что соединение повторно используется / возвращается в пул соединений.
источник