Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Ordem do join

Minha dúvida é se tem alguma regra quanto a ordem do join. Exemplo:

SELECT cd.nome as 'Nome', sum(c.valor) FROM compras c join compradores cd on c.comprador_id = cd.id GROUP BY cd.nome;

SELECT cd.nome as 'Nome', sum(c.valor) FROM compradores cd join compras c on c.comprador_id = cd.id GROUP BY cd.nome;

Fiz o teste com as duas querys, apresentaram o mesmo resultado.

2 respostas
solução!

A ordem das tabelas no join apenas influência na performance da consulta. Neste caso listar as tabelas menores primeiro seria mais eficiente. No entanto, essa não é uma preocupação que você deve levar em consideração, pois hoje sua tabela compras pode ser menor que a de compradores, porém futuramente essas quantidades podem estar invertidas. Hoje em dia os otimizadores dos bancos de dados se encarregam de escolher a ordem mais adequada de execução. Reforçando não se preocupe com a ordem em que as tabelas são especificadas. É melhor investir tempo em tentar otimizar outros aspectos como índices, consultas bem estruturadas.

Perfeito, tirou totalmente minha dúvida! Obrigado!