Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SET STATISTICS TIME ON / 25 сообщений из 33, страница 1 из 2
10.09.2013, 16:58
    #38392584
defragmentator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET STATISTICS TIME ON
Подскажите, что такое в сообщениях

Время работы SQL Server:
Время ЦП = 827 мс, затраченное время = 10701 мс.


"затраченное время" ?
...
Рейтинг: 0 / 0
10.09.2013, 17:06
    #38392605
Shakill
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET STATISTICS TIME ON
defragmentator,
затраченное - суммарное время на выполнение запроса
...
Рейтинг: 0 / 0
10.09.2013, 17:13
    #38392616
defragmentator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET STATISTICS TIME ON
Shakilldefragmentator,
затраченное - суммарное время на выполнение запроса
Что такое "суммарное время на выполнение запроса" ?
...
Рейтинг: 0 / 0
10.09.2013, 17:16
    #38392625
Гость333
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET STATISTICS TIME ON
defragmentator"затраченное время" ?
Время выполнения запроса. То, что можно увидеть в строке состояния SSMS после выполнения запроса, только в миллисекундах.
...
Рейтинг: 0 / 0
10.09.2013, 17:16
    #38392626
Shakill
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET STATISTICS TIME ON
defragmentatorShakilldefragmentator,
затраченное - суммарное время на выполнение запроса
Что такое "суммарное время на выполнение запроса" ?время, прошедшее от момента начала выполнения запроса до момента завершения. очевидно же
...
Рейтинг: 0 / 0
10.09.2013, 17:19
    #38392633
Гость333
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET STATISTICS TIME ON
Причём "Время ЦП" может быть как меньше "затраченного времени", так и больше.
Больше иногда бывает в случае распараллеленных запросов, т.к. "Время ЦП" — это суммарное время по всем процессорам, задействованным в выполнении запроса.
...
Рейтинг: 0 / 0
10.09.2013, 17:22
    #38392641
defragmentator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET STATISTICS TIME ON
Гость333,

то есть в случае одного процесора суммарное время = время ЦП + время пересылки данных к серверу и обратно?
...
Рейтинг: 0 / 0
10.09.2013, 17:26
    #38392647
Shakill
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET STATISTICS TIME ON
defragmentator,
и плюс время на операции ввода-вывода. чтение и запись на диск могут отнять много времени
...
Рейтинг: 0 / 0
10.09.2013, 17:32
    #38392659
Гость333
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET STATISTICS TIME ON
Ещё — плюс время, в течение которого запрос висел в ожидании блокировок.
...
Рейтинг: 0 / 0
10.09.2013, 17:37
    #38392667
defragmentator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET STATISTICS TIME ON
На время ЦП можно ориентироваться как на время выполнения запроса для сравнения эффективности двух вариантов запроса или лучше сравнивать в плане запроса в %?
...
Рейтинг: 0 / 0
10.09.2013, 17:39
    #38392671
zxc1257
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET STATISTICS TIME ON
defragmentator,

на затраченное
...
Рейтинг: 0 / 0
10.09.2013, 17:40
    #38392674
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET STATISTICS TIME ON
defragmentatorНа время ЦП можно ориентироваться как на время выполнения запроса для сравнения эффективности двух вариантов запроса или лучше сравнивать в плане запроса в %?

Нет. Ориентироваться надо на связку план + STATISTICS TIME + STATISTICS IO.
...
Рейтинг: 0 / 0
10.09.2013, 17:41
    #38392675
defragmentator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET STATISTICS TIME ON
zxc1257defragmentator,

на затраченное

Не уверен. Это время обмена клиента с сервером, в основном.
А если запрос идёт в пакете, то такого обмена нет.
...
Рейтинг: 0 / 0
10.09.2013, 17:42
    #38392680
defragmentator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET STATISTICS TIME ON
pkarklindefragmentatorНа время ЦП можно ориентироваться как на время выполнения запроса для сравнения эффективности двух вариантов запроса или лучше сравнивать в плане запроса в %?

Нет. Ориентироваться надо на связку план + STATISTICS TIME + STATISTICS IO.

Если план чуть быстрее, а STATISTICS TIME (время ЦП) чуть медленнее, то что выбрать?
...
Рейтинг: 0 / 0
10.09.2013, 17:44
    #38392685
Shakill
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET STATISTICS TIME ON
defragmentatorНа время ЦП можно ориентироваться как на время выполнения запроса для сравнения эффективности двух вариантов запроса или лучше сравнивать в плане запроса в %?
а какой критерий вы выбрали в качестве оценки эффективности? максимум скорости или минимум ресурсов или какие-то смешанные варианты?
...
Рейтинг: 0 / 0
10.09.2013, 17:45
    #38392688
zxc1257
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET STATISTICS TIME ON
defragmentatorzxc1257defragmentator,

на затраченное

Не уверен. Это время обмена клиента с сервером, в основном .
А если запрос идёт в пакете, то такого обмена нет.

правильно, i/o, wait, ... можно пренебречь. копейки.
...
Рейтинг: 0 / 0
10.09.2013, 17:45
    #38392689
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET STATISTICS TIME ON
defragmentatorЕсли план чуть быстрее, а STATISTICS TIME (время ЦП) чуть медленнее, то что выбрать?

Приведите, уже, реальные планы и озвученные выше набор статистик.
...
Рейтинг: 0 / 0
10.09.2013, 17:51
    #38392700
defragmentator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET STATISTICS TIME ON
pkarklin,

да ладно, я для себя уже выбрал лучший вариант, просто хочу на будущее знать.
Если что, приведу вариант, а пока вопрос можно считать решённым.
...
Рейтинг: 0 / 0
10.09.2013, 17:57
    #38392706
Гость333
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET STATISTICS TIME ON
defragmentatorплан чуть быстрее
Что вы здесь имеете в виду? У плана меньше стоимость (Estimated Cost)?
Эта стоимость измеряется в "условных попугаях". Подробнее можно прочесть, например, с этого сообщения 14136542 и до конца темы.
То есть это стоимость запроса на некоей условной "эталонной конфигурации", а реальные конфигурации могут сильно отличаться от этого эталона.
...
Рейтинг: 0 / 0
10.09.2013, 17:58
    #38392708
Гость333
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET STATISTICS TIME ON
+забыл дописать

Поэтому лучше ориентироваться на реальную статистику (TIME + IO) выполнения запросов.
...
Рейтинг: 0 / 0
10.09.2013, 18:00
    #38392711
defragmentator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET STATISTICS TIME ON
Гость333,
смотрю Actual Plan
...
Рейтинг: 0 / 0
10.09.2013, 18:02
    #38392712
Гость333
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET STATISTICS TIME ON
Гость333Поэтому лучше ориентироваться на реальную статистику (TIME + IO) выполнения запросов.
А, извиняюсь, просмотрел этот пост:
pkarklinОриентироваться надо на связку план + STATISTICS TIME + STATISTICS IO.
Да, конечно, и план тоже надо учитывать.
...
Рейтинг: 0 / 0
10.09.2013, 18:05
    #38392717
Гость333
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET STATISTICS TIME ON
defragmentatorсмотрю Actual Plan
А по каким показателям из Actual Plan вы определяете, что "план чуть быстрее"?
...
Рейтинг: 0 / 0
10.09.2013, 20:03
    #38392821
SomewhereSomehow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET STATISTICS TIME ON
Интересно, что сам по себе мониторинг статистики тоже может влиять на время.
Год назад читал статью How to Make Scalar UDFs Run Faster (SQL Spackle)
Там был результат измерения времени выполнения запроса со скалярной функций при помощи двух методов:
1) set statistics time
2) datediff
Результаты в статье такие:
statistics timeSQL Server Execution Times:
CPU time = 109031 ms, elapsed time = 299436 ms.

datediff7456


И я тогда отписался там в комментах:
SomewhereSomehowJeff Moden,
Wonderful note about set statistics time! Never heard of it!
Т.е. скорее всего у меня получилось воспроизвести такой результат (хотя может я поверил "наслово" - но я такое редко от себя могу ожидать=)).
Сейчас пытаюсь проиграть конкретно те примеры из статьи - не получается такой драматической разницы во времени выполнения.
Пробовал на голом 2008r2 rtm, 2008r2 sp2, 2012 sp1.

Однако, небольшая, но разница все же есть:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
use tempdb;
set nocount on;
select top(1000000) identity(int,1,1) as a into t1 from master..spt_values v1,master..spt_values v2,master..spt_values v3;
go
create function dbo.f1(@a int)
returns int with schemabinding
as begin
	return @a*2;
end
go
declare @r int;
set statistics time on;
select @r = dbo.f1(a) from t1;
set statistics time off;
go
print('-------------------------------------')
go
declare @d datetime = getdate();
declare @r int;
select @r = dbo.f1(a) from t1;
print('Elapsed time:'+ convert(varchar(100),datediff(ms,@d,getdate())));
go
drop table t1;
drop function f1;


автор SQL Server Execution Times:
CPU time = 1934 ms, elapsed time = 2436 ms.
-------------------------------------
Elapsed time:1940

Т.е. само по себе измерение статистики - тоже может влиять на время =)
- Никому нельзя доверять! Даже себе самому! - возмущался мужик,
намыливая штаны. - Я ведь только пукнуть хотел...


У кого получится воспроизвести тайминги из статьи - просьба поделиться секретом.
...
Рейтинг: 0 / 0
10.09.2013, 20:38
    #38392852
zxc1257
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET STATISTICS TIME ON
с увеличением числа строк растет разрыв. на 10 000 000 разрыв около 10 сек.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SET STATISTICS TIME ON / 25 сообщений из 33, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]