Qual é a diferença exata entre Oracle (+) e tabelas separadas por vírgula e tabelas de junção. Alguém me obrigue a usar oracle (+) em vez de junção à esquerda. É o seu qualquer problema de desempenho? Porque, pelo que sei, essas noções são idênticas.
relate perguntas
-
Backups de banco de dados no Oracle - Exportar o banco de dados ou usar outras ferramentas?
-
ORDER BY usando prioridades personalizadas para colunas de texto
-
Interface sqlplus confortável? [fechado]
-
Como encontrar as instruções SQL mais recentes no banco de dados?
-
Como posso consultar nomes usando expressões regulares?
Escreva ambas as consultas e execute
EXPLAIN PLAN
-as. A comparação dos planos identificará quaisquer diferenças de desempenho.Do ponto de vista do desenvolvimento, as junções explícitas oferecem várias vantagens sobre a sintaxe mais antiga.
Ao manter as cláusulas ON junto com as tabelas às quais elas fazem referência, fica mais fácil ver a própria junção.
Separar as cláusulas ON dos predicados WHERE facilita a compreensão da intenção do desenvolvedor. Às vezes, uma coleção espaguete de tabelas pode ter apenas um predicado WHERE depois que todos os predicados de junção são removidos.
É muito mais difícil esquecer um predicado com a sintaxe explícita. Se você esquecer um predicado de junção, retornará um produto cartesiano. Duas tabelas com um milhão de linhas cada formarão um produto cartesiano de um trilhão de linhas. Se você sabe que esqueceu uma condição de junção porque seu conjunto de resultados é suspeito, é muito mais fácil identificar o que está faltando com a sintaxe explícita.
Vou argumentar, contra o conselho de alguns longbeards, que mesmo um grande número de tabelas é mais fácil de gerenciar com junções explícitas e que nenhuma consulta favorece a sintaxe implícita para facilitar a leitura. Novamente, isso ocorre porque os predicados de junção são mantidos próximos às tabelas referenciadas. Se você estiver se limitando a 80 colunas de texto, uma consulta longa pode significar muitas mudanças para cima e para baixo com a sintaxe implícita. Se você acha que a digitação é excessiva, resolva isso com seu editor de texto e não com uma sintaxe desleixada. (A edição de várias linhas no Sublime Text é uma solução, por exemplo.)