2013-06-28 3 views
0

Я хочу обновить таблицу целей из исходной таблицы. Когда никаких новых данных в источнике нет, никаких обновлений нет. Прежде чем выбрать параметр «Включить фактический план выполнения» в SSMS, результат не отображает никаких затронутых строк. После выбора опции результат всегда показывает, что есть 1 строка (-ы), как показано ниже, что вызывает недоумение. Но какая строка затронута с трех строк в этом случае.Что такое план выполнения здесь?

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

(0 строк (ы) пострадавших)

(1 строка (ы) пострадавших)

SQL Исполнение Сервер Время: процессорного времени = 46 мс, затраченное время = 38 мс.

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

РЕЗУЛЬТАТ: строка не был обновлен

ответ

3

Первого количество строк был подсчетом обновлений. Как вы заметили, второе количество строк - это фактический план выполнения. Не волнуйся. Ваши данные не обновляются. Это повторение этого вопроса: Why there is an extra "(1 row(s) affected)"

+0

Спасибо. Я также думаю об этом из-за плана выполнения, но не знаю почему. В старой почте, которую вы упомянули, ответьте, что он отправлен как дополнительный набор строк. Но почему затрагивается только одна строка? Я думаю, что план выполнения действия повлияет на таблицу где-нибудь в SQL SERVER и повлияет на одну строку в этой таблице. Если это так, мне нужно проверить, где находится таблица, если хотите углубиться – FebWind

+0

@FebWind Я думаю, что строка находится в возвращаемой таблице. Если вы просто сделаете выбор, он также скажет: « строк, затронутых" –