Ответ 1
Что вы хотите сделать:
set statistics time on
-- your query
set statistics time off
В окне сообщений появится вывод, выглядящий примерно так:
Время выполнения SQL Server: время процессора = 6 мс, прошедшее время = 6 мс.
Когда я отправляю пакет (например, выполняю запрос) в SSMS, я вижу время, которое нужно выполнить в строке состояния. Можно ли настроить SSMS для отображения времени запроса с разрешением в миллисекундах?
Вот бар, о котором я говорю, с интересующей нас частью кружка:
Что вы хотите сделать:
set statistics time on
-- your query
set statistics time off
В окне сообщений появится вывод, выглядящий примерно так:
Время выполнения SQL Server: время процессора = 6 мс, прошедшее время = 6 мс.
Включите Статистика клиента, выполнив одно из следующих действий:
Затем вы получаете новую вкладку, которая записывает тайминги, данные ввода-вывода и количество строк и т.д. для (до) последних 10 выходов (плюс средние значения!):
Я боролся с этим, пока не нашел это...
Кроме того, если вы откроете окно "Свойства", вы можете найти магическое "Время, прошедшее через соединение", которое может дать вам некоторое время выполнения... Надеюсь, это поможет...
Чтобы получить время выполнения в качестве переменной в вашем proc:
DECLARE @EndTime datetime
DECLARE @StartTime datetime
SELECT @StartTime=GETDATE()
-- Write Your Query
SELECT @EndTime=GETDATE()
--This will return execution time of your query
SELECT DATEDIFF(ms,@StartTime,@EndTime) AS [Duration in millisecs]
И см. это
Измерение производительности запроса: "Стоимость запроса плана выполнения" vs "Time Taken"
Я не знаю о расширении информационной панели.
Но вы можете установить тайминги по умолчанию для всех запросов, отображаемых на вкладке "Сообщения".
Когда в окне запроса перейдите в пункт меню "Запрос", выберите "параметры запроса", затем выберите "расширенный" в группе "Выполнение" и установите флажки "установить время статистики" / "установить статистику IO". Эти значения будут отображаться в области сообщений для каждого запроса без необходимости включать и отключать установленные значения.
Вы также можете использовать Shift + Alt + S для включения статистики клиента в любое время
Я пошел за тем же и наткнулся на следующую ссылку, которая была блестящей:
http://www.sqlserver.info/management-studio/show-query-execution-time/
Он показывает три разных способа измерения производительности. Все хорошо для своих сильных сторон. Тот, который я выбрал, был следующим:
DECLARE @Time1 DATETIME
DECLARE @Time2 DATETIME
SET @Time1 = GETDATE()
- Вставить запрос здесь
SET @Time2 = GETDATE()
SELECT DATEDIFF (MILLISECOND, @Time1, @Time2) AS Elapsed_MS
Это покажет результаты вашего запроса, а затем количество времени, которое требуется для завершения.
Надеюсь, что это поможет.
Вы можете попробовать этот код:
USE AdventureWorks2012;
GO
SET STATISTICS TIME ON;
GO
SELECT ProductID, StartDate, EndDate, StandardCost
FROM Production.ProductCostHistory
WHERE StandardCost < 500.00;
GO
SET STATISTICS TIME OFF;
GO