partition by orderdate
означает, что вы сравниваете записи только с другими записями с такими же orderdate
. Например, из пяти записей с orderdate = '08/01/2001'
одна будет иметь row_number() = 1
, одна будет иметь row_number() = 2
и т. Д.
order by orderdate asc
означает, что в пределах раздела номера строк должны присваиваться в порядке orderdate
. В вашем примере это не имеет никакого эффекта, потому что вы уже разбиваете на orderdate
, поэтому все записи в пределах раздела будут иметь одинаковое значение orderdate
. (Это было бы похоже на запись SELECT ... FROM t WHERE c = 6 ORDER BY c
: все выбранные записи имеют одинаковое значение c
, поэтому ORDER BY c
ничего не делает.) Таким образом, в пределах раздела назначение row_number()
является произвольным: каждая строка будет иметь другое число, но нет никаких гарантий относительно того, какой ряд будет иметь какой номер.
ActualRows подсчитывает, сколько раз GetNext () было вызвано для физического оператора.
Вы также должны посмотреть на ActualRebinds, ActualRewinds и ActualEndOfScans , чтобы получить представление о том, сколько раз внутренний цикл переоценивался:
повторная привязка означает, что один или несколько коррелированные параметры соединения изменен и внутренняя сторона должна быть переоценен. перемотка означает, что ничего коррелированных параметров изменились и предыдущий внутренний набор результатов может быть reused.
фактическое количество значений строк является результатом всех обработанных значений для этого узла в плане выполнения. так что да, это учитывает соединение вложенных циклов.