O desaninhamento de subconsulta é uma otimização disponível ...

Próximas questões
Com base no mesmo assunto
Q2107782 Banco de Dados
O desaninhamento de subconsulta é uma otimização disponível no Oracle que converte uma subconsulta em uma junção na consulta externa, permitindo que o otimizador considere a(s) tabela(s) de subconsulta durante o caminho de acesso, método de junção e seleção de ordem de junção. As consultas (a) e (b) exemplificam respectivamente uma subconsulta ALL e uma subconsulta EXISTS. Os atributos dessas tabelas usadas podem ser inferidos a partir dessas consultas SQL:  
(a) SELECT C.sobrenome, C.renda  FROM clientes C  WHERE C.codc <> ALL (SELECT V.codc FROM vendas V WHERE V.valor > 1000);
(b) SELECT C.sobrenome, C.renda  FROM clientes C  WHERE NOT EXISTS (SELECT 1 FROM vendas V WHERE V.valor > 1000 and V.codc = C.codc);
Considere as assertivas abaixo sobre a otimização baseada em desaninhamento de subconsultas no Oracle: 
I. O recurso fundamental do desaninhamento de subconsultas é a conversão da subconsulta com processamento relacionado em outra equivalente com processamento não relacionado. II. No caso de uma subconsulta ALL, o desaninhamento explora semi-join. III. No caso de uma subconsulta NOT EXISTS, o desaninhamento explora o anti-join.
Quais estão corretas?
Alternativas