Acabei de assistir ao vídeo muito interessante de Rob Farley "Designing for simplification" e queria saber se as 4 regras fornecidas no vídeo para remoção de junção também funcionam no PostgreSQL.
Se uma visualização estiver fazendo junções que não:
- adicione quaisquer colunas
- eliminar linhas
- linhas duplicadas
- introduzir nulos
as junções serão ignoradas para as consultas que não precisam delas. Ou é apenas uma coisa do SQL Server?
Há um exemplo sobre esse recurso no PostgreSQL "Whats new in 9.0" . Se o otimizador detectar que uma junção não pode adicionar nenhuma linha adicional, ela será descartada. O Recurso PostgreSQL não remove junções de exibições se elas não forem necessárias porque as colunas solicitadas não foram selecionadas.
Além disso, o recurso está limitado a
LEFT JOIN
s no momento (versão 9.4). Isso pode mudar em versões futuras.