Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Oracle View vs juntando tabelas no Oracle


Geralmente, não há diferença de desempenho entre uma única consulta e uma consulta logicamente equivalente que usa exibições.

O Oracle possui transformações de otimizador que podem combinar visualizações com a consulta externa; push de predicado, mesclagem de visualizações simples e complexas, etc. Pense nas visualizações mais como uma macro de texto que cria uma consulta grande, em vez de uma função que retorna linhas.

Por exemplo, na consulta abaixo, o Oracle provavelmente seria inteligente o suficiente para inserir o predicado na coluna de chave primária na exibição. Embora a exibição por si só possa retornar milhões de linhas, quando a consulta inteira for executada, o Oracle aplicará primeiro o predicado na coluna de chave primária.
select *
from view_returns_millions_of_rows
where primary_key_value = 1;