17.07
Вот и пруфы подъехали. Незначительные расхождения по времени. Стоит заметить что таблицы в базе довольно объёмные.
select
l.status,
array_agg(r.route_name)
from routes r
join route_nodes rn on r.route_id = rn.route_id
join locations l on l.location_id = rn.location_id
where r.status = 34
group by l.status
Planning Time: 1.261 ms Execution Time: 1080.905 ms Timing: Generation 8.179 ms, Inlining 0.000 ms, Optimization 2.892 ms, Emission 39.771 ms, Total 50.842 ms
select
l.status,
array_agg(r.route_name)
from routes r, route_nodes rn, locations l
where 1=1
and r.status = 34
and r.route_id = rn.route_id
and l.location_id = rn.location_id
group by l.status
Planning Time: 1.707 ms Execution Time: 1024.166 ms Timing: Generation 8.284 ms, Inlining 0.000 ms, Optimization 3.059 ms, Emission 40.106 ms, Total 51.448 ms
· 21.07
sql server сгенерит идентичный execution plan для обоих запросов. Другое дело что нижний менее читабелен, и в нем легче накосячить
ответить
еще контент в этом сообществе
еще контент в этом соообществе
17.07
войдите, чтобы увидеть
и подписаться на интересных профи