SSMS Set Statime Time On / Off печатает несколько строк вместо одной - PullRequest
0 голосов
/ 19 апреля 2020

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

Ответы [ 2 ]

0 голосов
/ 19 апреля 2020

Статистика c время будет печататься для каждого выполнения. Поскольку вы зацикливаетесь, вы выполняете несколько операторов запроса (я полагаю, что это также относится и к наборам -i, хотя я могу ошибаться), каждый из них обеспечит время выполнения. Там действительно нет никакого способа изменить статистику c время для того, что я думаю, что вы ищете.

Вы можете объявить datetime2 и сохранить время начала в начале, используя SysDateTime, и получить время окончания по завершении, таким образом печатая разницу на экране, используя DateDiff. (Это достигнет того, о чем вы просите.)

Вы также можете посмотреть статистику клиента c (но это может быть не то, что вы хотите).

Примечание и не имеет значения: вы зацикливаете запросы. Это не полезно, и вы можете делать это, чтобы учиться. Я бы порекомендовал изучить таблицы Tally для замены циклов. Вы можете значительно повысить производительность, если правильно оформите запрос.

0 голосов
/ 19 апреля 2020

Если вы удалите PRINT 'Answer = ' + CONVERT(VARCHAR, @evenSum) из своего кода, он не будет печатать многократное время выполнения.

Вот пример .

...