Как работает такая функция, как СУММ? Если я выполню
select id,sum(a) from mytable group by id
сортирует ли он по идентификатору, а затем суммирует по каждому диапазону одинаковых идентификаторов? Я не эксперт по планированию, но похоже, что это то, что происходит, где mytable может состоять из ста миллионов строк с несколькими миллионами различных идентификаторов.
Или он просто сохраняет хэш id -> current_sum, а затем в каждой строке либо увеличивает значение id, либо добавляет новый ключ? Разве это не намного быстрее и меньше памяти?