Вот и пруфы подъехали. Незначительные расхождения по времени. Стоит заметить что таблицы в базе довольно объёмные.

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

repost

152

input message

напишите коммент

sql server сгенерит идентичный execution plan для обоих запросов. Другое дело что нижний менее читабелен, и в нем легче накосячить

ответить

еще контент в этом сообществе

еще контент в этом соообществе

войдите, чтобы увидеть

и подписаться на интересных профи

в приложении больше возможностей

пока в веб-версии есть не всё — мы вовсю работаем над ней

сетка — cоциальная сеть для нетворкинга от hh.ru

пересекайтесь с теми, кто повлияет на ваш профессиональный путь