SQL Server Management Studio, как получить время выполнения до миллисекунд

Когда я отправляю пакет (например, выполняю запрос) в SSMS, я вижу время, которое нужно выполнить в строке состояния. Можно ли настроить SSMS для отображения времени запроса с разрешением в миллисекундах?

Вот бар, о котором я говорю, с интересующей нас частью кружка:

enter image description here

Ответ 1

Что вы хотите сделать:

set statistics time on

-- your query

set statistics time off

В окне сообщений появится вывод, выглядящий примерно так:

Время выполнения SQL Server: время процессора = 6 мс, прошедшее время = 6 мс.

Ответ 2

Включите Статистика клиента, выполнив одно из следующих действий:

  • Меню: запроs > Включить статистику клиента
  • Панель инструментов: нажмите кнопку (рядом с включением фактического времени выполнения)
  • Клавиатура: Shift-Alt-S

Затем вы получаете новую вкладку, которая записывает тайминги, данные ввода-вывода и количество строк и т.д. для (до) последних 10 выходов (плюс средние значения!):

enter image description here

Ответ 3

Я боролся с этим, пока не нашел это...

http://blog.sqlauthority.com/2009/10/01/sql-server-sql-server-management-studio-and-client-statistics/

Кроме того, если вы откроете окно "Свойства", вы можете найти магическое "Время, прошедшее через соединение", которое может дать вам некоторое время выполнения... Надеюсь, это поможет...

Ответ 4

Чтобы получить время выполнения в качестве переменной в вашем 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"

Ответ 5

Я не знаю о расширении информационной панели.

Но вы можете установить тайминги по умолчанию для всех запросов, отображаемых на вкладке "Сообщения".

Когда в окне запроса перейдите в пункт меню "Запрос", выберите "параметры запроса", затем выберите "расширенный" в группе "Выполнение" и установите флажки "установить время статистики" / "установить статистику IO". Эти значения будут отображаться в области сообщений для каждого запроса без необходимости включать и отключать установленные значения.

Вы также можете использовать Shift + Alt + S для включения статистики клиента в любое время

Ответ 6

Я пошел за тем же и наткнулся на следующую ссылку, которая была блестящей:

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


Это покажет результаты вашего запроса, а затем количество времени, которое требуется для завершения.

Надеюсь, что это поможет.

Ответ 7

Вы можете попробовать этот код:

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