powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SET STATISTICS TIME ON
8 сообщений из 33, страница 2 из 2
SET STATISTICS TIME ON
    #38392859
Фотография SomewhereSomehow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zxc1257,

Я тоже так подумал сначала и прежде чем постить вопрос - протестил для 10 млн и 100 млн,
у меня получились те же тайминги только в пропорции.
В статье же, уже при 1 млн - какие-то дикие расхождения.
В статье есть даже отдельный раздел: "If you measure it, you change it."
Вот мне и интересно.

Впрочем ваш коммент хорошо иллюстрирует мой посыл на тему что само измерение статистики влияет на время, и, получается, чем больше объем - тем сильнее. Хотя зависимость линейная - ожидаемо.
...
Рейтинг: 0 / 0
SET STATISTICS TIME ON
    #38392862
Фотография МуМу
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Принцип неопределенности как из квантовой механики:)
Некоторые параметры измерения статистики сильно зависят от различных показателей. В данном случае думаю была важна латентность сети.(время отклика, не путать с пропускной способностью) Думаю сейчас вам таких показателей не удается добиться именно по этим причинам:)
...
Рейтинг: 0 / 0
SET STATISTICS TIME ON
    #38392865
Фотография МуМу
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя нет. Прочитал пост не верно - это не тот случай.(вызов то каждый для каждой строчки рекордсета но не по сети каждый раз).
...
Рейтинг: 0 / 0
SET STATISTICS TIME ON
    #38392881
Фотография SomewhereSomehow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МуМу,

Насчет сети надобно проверить все равно, идея хорошая! Просто так отключение протокола shared memory ничего не дает, но мало ли там как реализовано...вдруг переключение контекста скалярной функции как-то взаимодействует... Я уже как в анекдоте - никому не верю. Завтра на работе проверю, еще и между доменами и разными сегментами сети потестирую, сейчас чертов удаленный рабочий стол завис.

Но в любом случае - печально то, что сам сбор статистики по времени - влияет на время (даже если и незначительно). Это хотя бы должно быть документировано - в документации я этого не нашел. Может плохо искал.
SET STATISTICS TIME
авторОтображает время в миллисекундах, необходимое для синтаксического анализа, компиляции и выполнения каждой инструкции.
Также, где сказано, что учитывается время передачи клиенту? А оно учитывается!
Может это где-то сказано в других разделах? Но почему не в этом, релевантном?
...
Рейтинг: 0 / 0
SET STATISTICS TIME ON
    #38392903
Фотография МуМу
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.softpoint.ru/article_id4226.htm
Здесь сжатая статья исследований.(где то в ссылках программулина которая позволяет измерить реальные потери при увеличении количества вызовов) Все начиналось изначально проработкой своего интерфейса на базе инфинибанд. Затем возникли вопросы по вопросы времени отклика сетевых интерфейсов. Например 10ГБ(езернет) дает в два раза меньшее время отклика чем 1 ГБ.(и большую масштабируемость) (инфини бэнд почти достигает времени взаимодействия с шаред мемори 1,5 коэффициент) Для некоторых систем это вообще очень важно. В итоге, если вызовов много , если латентность не очень - могут быть очень большие временные потери. Но в данном случае это ситуация не та, скорее всего потому что вызовы один раз обрабатываются на сервере а потом передаются сетевым интерфейсом большой кучей данных. Если это не так то - однозначно потери именно в этом.(проверить можно проанализировав сетевой трафик). Если проблемы не с сетью - то может быть завязана еще и неоптимальная виртуализация(количество контекстов переключений) и т.д. Поэтому в данном случае лучше посмотреть сколько сетевых пакетов идет туда обратно. Потом делать какие то выводы.
...
Рейтинг: 0 / 0
SET STATISTICS TIME ON
    #38392922
zxc1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МуМу,

сеть не причем

Код: sql
1.
select @r = dbo.f1(a) from t1;



дело во внутренней реализации statistics time on;

вы когда компилите программу в debug версии или выполняете ее под профайлером, она выполняется медленнее чем release без профайлера? так и тут.

по мне так лишь бы отношение времени выполнения двух запросов под statistics time on и без него оставалось близким.
...
Рейтинг: 0 / 0
SET STATISTICS TIME ON
    #38392935
Фотография SomewhereSomehow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zxc1257,
МуМу,
Давайте все-таки просто проверим! Спорить нет смысла.

Про сеть - очень хорошее предположение. Вообще, почему скалярные функции работаю так медленно? Потому, что каждый раз при выполнении скалярной функции - есть переключение контекста, как если бы выполнялся отдельный модуль. Я, например, не уверен, что в режиме включенного сбора статистики модуль скалярной функции не взаимодействует с сетью.

Завтра я сам проверю, но может кто-то найдется и проверит у себя сегодня.
Если не подтвердится, то нет - будем думать дальше. Какие проблемы.
...
Рейтинг: 0 / 0
SET STATISTICS TIME ON
    #38393258
Фотография SomewhereSomehow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверил, предположение хорошее, но, видимо, не верное.
Разница есть, но опять же не такая драматическая. Пробовал даже с серверами расположенными в других городах, с которыми узкий канал связи - но значений, отличающиеся на порядок, получить не удалось.
...
Рейтинг: 0 / 0
8 сообщений из 33, страница 2 из 2
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SET STATISTICS TIME ON
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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