Is существует разница в производительности между следующими двумя запросами, и если да, то какой из них лучше?:
select
q.id,
q.name
from(
select id, name, row_number over (partition by name order by id desc) as row_num
from table
) q
where q.row_num = 1
против
select
max(id) ,
name
from table
group by name
(набор результатов должен быть одинаковым)
Предполагается, что индексы не установлены.
UPDATE: Я протестировал это, и группа by
оказалась быстрее.