SóProvas


ID
1215226
Banca
CESPE / CEBRASPE
Órgão
TJ-SE
Ano
2014
Provas
Disciplina
Banco de Dados
Assuntos

Com relação a técnicas de análise de desempenho e otimização de consultas SQL, julgue os itens subsequentes.

A união por hash é uma estratégia de otimização de consultas que pode ser utilizada caso a consulta envolva união entre tabelas distintas e não exista índice útil na coluna de união das entradas

Alternativas
Comentários
  • Questão correta! Achei a referência abaixo bem didática:

    "2.3. Seleção da união

    Nesta terceira fase da otimização de consultas, se a consulta envolve várias tabelas ou é uma auto-união, o otimizador de consultas avalia a seleção de união e seleciona a estratégia de união com o menor custo. O otimizador pode utilizar três estratégias para processar uniões: uniões de loop aninhado, uniões de mesclagem e uniões por hash.

    - União de loop aninhado: Neste tipo de união são processadas um conjunto de loops que extraem uma linha da primeira tabela e usam essa linha para percorrer a tabela mais interna e assim por diante, até que o resultado que satisfaça seja utilizado para percorrer a última tabela. O número de iterações através de qualquer um dos loops é igual ao número de varreduras que devem ser realizadas. O conjunto de resultados é reduzido à medida que ele avança de uma tabela para outra dentro de cada iteração no loop.

    - União de mesclagem: Pode-se utilizar uma união de mesclagem quando nas duas tabelas a serem unidas existirem índices setorizados na coluna de união. Geralmente, o otimizador escolhe a estratégia de união de mesclagem quando as duas entradas de união (as tabelas a serem unidas) já estão classificadas na coluna união.

    - União por hash: A união por hash pode ser utilizada quando não existe nenhum índice útil na coluna de união em nenhuma das entradas. O hash permite determinar se um item de dados em particular corresponde a um valor já existente, dividindo os dados existentes em grupos baseados em alguma propriedade. Os dados com o mesmo valor são colocados num hash bucket. Para verificar se um novo valor possui um correspondente nos dados existentes, simplesmente examina-se o bucket quanto ao valor correto."

    Fonte: http://www.batebyte.pr.gov.br/modules/conteudo/conteudo.php?conteudo=1184.

    Boa! Vamos em frente com o aprendizado!