Resposta à sua pergunta - Sim, a ordem da mesa faz diferença na junção.
Você também pode informar o otimizador sobre o plano de execução.
A dica ORDERED faz com que o Oracle una as tabelas na ordem em que aparecem na cláusula FROM.
Por exemplo, esta instrução une a tabela TAB1 à tabela TAB2 e, em seguida, une o resultado à tabela TAB3:
SELECT /*+ ORDERED */ TAB1.COL1, TAB2.COL2, TAB3.COL3
FROM TAB1, TAB2, TAB3
WHERE TAB1.COL1 = TAB2.COL1
AND TAB2.COL1 = TAB3.COL1;
Se você omitir a dica ORDERED de uma instrução SQL executando uma junção, o otimizador escolherá a ordem na qual unir as tabelas. Você pode querer usar a dica ORDERED para especificar uma ordem de junção se souber algo sobre o número de linhas selecionadas de cada tabela que o otimizador não sabe. Essas informações permitiriam que você escolhesse uma tabela interna e externa melhor do que o otimizador.
Normalmente, se você analisar as tabelas, o otimizador seleciona um plano estrela eficiente. Você também pode usar dicas para melhorar o plano. O método mais preciso é ordenar as tabelas na cláusula FROM na ordem das chaves no índice, com a tabela grande por último. Então use as seguintes dicas:
/*+ ORDERED USE_NL(FACTS) INDEX(FACTS FACT_CONCAT) */