2013-12-20 3 views
2

Я хотел бы определить время, необходимое для выполнения хранимой процедуры на SQL Server. Но вместо того, чтобы просто измерить выполнение всей хранимой процедуры, я также хотел бы измерить время выполнения каждой операции внутри хранимой процедуры, чтобы я мог найти узкие места.Время выполнения хранимой процедуры измерения SQL

В C# для выполнения такой задачи при проверке времени выполнения кода я бы сохранил дату перед запуском запуска и по завершении выполнения, я бы напечатал объект TimeSpan, который мне дал, вычитая время начала с текущего времени (после исполнение).

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

Благодаря

ответ

2
SET STATISTICS TIME ON; 
SET STATISTICS IO ON; 
GO 

EXECUTE <yourSP>; 

GO 
+0

Привет, спасибо, что ответили. Это также измеряет выполнение при вставках и обновлениях? рекомендуется ли он для разработки только для разработки? – developer82

+0

Он измеряет все и безопасен для использования в производстве - для устранения неполадок – Raj

+0

После выполнения выше, где будет показано время, необходимое для выполнения хранимой процедуры? – Sachin

0

Вам нужен actual execution plan. Вы можете увидеть, как они запускают SQL-запрос в студии управления SQL с нажатой правой кнопкой (они будут отображаться как вкладка в окне результатов). Это покажет вам, какие части запуска запускаются, и время, затраченное каждым битом - именно то, что вы хотите настроить.

Смежные вопросы