Если в вашей таблице так мало строк, что вы можете сосчитать их с одной стороны, встроенная функция окна будет работать быстрее.
Почему? Во-первых, он встроен и предназначен для этой цели.
Во-вторых, он фактически рассчитывает совокупную сумму. Таким образом, при вычислении 10-го значения он использует результат из 9-й кумулятивной суммы и просто добавляет к нему еще одно значение.
Подход join
является особенно вопиющим способом выполнения вычислений. Если у вас есть 100 строк в таблице, то она расширяет таблицу до 100 * 99/2 строк (дать или взять) - и затем должна агрегировать более 100 строк. Вы можете видеть, что это только ухудшается, когда ваша таблица становится больше.
Тем не менее, если у вас есть три строки в таблице, вы можете обнаружить, что соединение работает лучше. Таков закон больших чисел: иногда удивительные вещи случаются при меньших числах.