Pessoal,

surgiu uma dúvida aqui a respeito da melhor forma de se escrever joins em
nossas consultas. Tradicionalmente a gente coloca todas as tabelas no FROM e
trata dos joins no where, como abaixo:
 **  select *
from bc_pessoa p,
     cc_cc c
where c.primeiro_titular = p.id_pessoa

Outra opção seria fazer o join no próprio from:
 **  select *
from bc_pessoa p
join cc_cc c on c.primeiro_titular = p.id_pessoa

Um ponto seria a respeito da manutenibilidade do código. A segunda opção
seria mais clara quando a consulta envolve muitas tabelas.

E outra questão seria em relação à performance. O Oracle supostamente
criaria planos de execução mais eficientes com a segunda opção.
Fiz algumas buscas na web, mas não encontrei nada conclusivo.

Enfim, as dúvidas são:

1. Sabem se existe alguma regra geral dizendo que a performance de uma forma
de escrita é melhor do que a outra?
2. O padrão de codificação utilizado aqui na empresa recomenda alguma das
formas? Não encontrei este tópico no documento de padrão backend.

[]'s
Cesar


[As partes desta mensagem que não continham texto foram removidas]

Responder a