Questão 564874

Tecnologia da Informação · 2023

Questão

ID 564874

Disciplina: Tecnologia da Informação

Assunto: Otimização Baseada em Custo

Ano: 2023 Banca: FUNDATEC - Fundação Universidade Empresa de Tecnologia e Ciências Órgão: Banco Regional de Desenvolvimento do Extremo Sul


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 da questão 564874
Pular para o conteúdo principal