Baixe o app para aproveitar ainda mais
Prévia do material em texto
Aluno Matr.: 201910004448 Disc.: ARQ.SIST.BAN.DADOS 2020.1 EAD (GT) / EX Prezado (a) Aluno(a), Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha. Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS. 1. Sobre a otimização de consultas por regras marque a alternativa correta. Pode ser realizada somente após a execução da consulta. É realizada durante a fase de análise sintática. Utiliza um conjunto de heurísticas para transformar a consulta em um plano de acesso. Planeja consultas aleatórias para encontrar a que atenda a regra com eficiência. Utiliza algoritmos de busca por um plano de menor custo no espaço de todos os planos. Explicação: Na otimização por regras o otimizador utiliza um conjunto de heurísticas para transformar a consulta em um plano de acesso. Por exemplo, o otimizador poderia sempre escolher utilizar um índice que esteja disponível sobre uma coluna. 2. O método de Execução de junção onde os dados das duas tabelas são primeiramente ordenados denomina-se: Index Scan Hashing Join Sort/Merge Join Nested Loops Full Table Scan Explicação: Ordenação/Intercalação (Sort / Merge Join) -O SGBD classifica cada linha que participará do join, caso ainda não o tenha feito anteriormente, pela coluna utilizada na condição de join. -Em seguida, o SGBD faz o merge (fusão) dos resultados classificados de modo a combinar os pares iguais. 3. A otimização heuristica compreende: A otimização da expressão algebrica gerada pela reescrita em um expressão mais eficiente A escolha dos algoritmos de busca A escolha dos métodos de acesso físico aos dados A análise das estatisticas da tabela A reescrita da consulta SQL em um forma canonica Explicação: OTIMIZAÇÃO HEURISTICA DE CONSULTAS Este tipo de otimização ocorre a partir da transformação da consulta SQL em uma expressão algébrica. A partir da expressão algébrica são realizadas operações de transformação visando obter uma expressão mais eficiente. Baseando-se na expressão otimizada o SGBD pode definir os métodos de acesso e os algoritmos adequados para a execução da consulta. 4. Dadas as afirmações: I - Avaliar expressões e condições. II - Transformar um comando SQL em outro equivalente. III - Decidir como acessar o dado armazenado no banco de dados. Considerando as atividades que um otimizador deve executar, assinale as afirmações corretas. Somente I e II Somente II e III Somente I e III I, II e III Somente II Explicação: O otimizador pode necessitar as seguintes tarefas para otimização de um comando SQL: Avaliar expressões e condições; Transformar um comando SQL em outro equivalente; Decidir como acessar o dado armazenado no banco de dados; como executar um join quando o comando acessa mais que uma tabela; Decidir e executar o caminho de acesso mais eficiente. 5. É necessario termos estatisticas no banco de dados para que se possa realizar: Otimização por regra Otimização por Custo Otimização Euristica Geração de Código Reescrita da Consulta Explicação: Após a otimização heurística o SGBD irá analisar os metadados e escolher algoritmos para acesso físico ao conteúdo dos arquivos. Neste ponto ele pode utilizar duas abordagens: - Otimização por regras: o otimizador utiliza um conjunto de heurísticas para transformar a consulta em um plano de acesso. Por exemplo, o otimizador poderia sempre escolher utilizar um índice que esteja disponível sobre uma coluna. - Otimização por custo: o otimizador utiliza algoritmos de busca por um plano de menor custo no espaço de todos os planos de execução possíveis. Para a determinação do custo de um plano, o otimizador precisa consultar estatísticas sobre as tabelas do banco de dados. 6. A etapa da execução da consulta onde é verifica a existencia das tabelas no banco de dados denomina- se: otimização da consulta geração de código Análise semantica reescrita da consulta Análise Sintatica Explicação: Análise Sintática: nesta etapa, a sintaxe da consulta é verificada e erros são apontados. Se a consulta estiver sintaticamente correta, o SGBD a submeterá à verificação de sua semântica. Análise Semântica ou Validação: aqui o SGBD verifica a existência de tabelas, visões e colunas, bem como realiza verificações de tipos dos atributos e dados utilizados na consulta. Reescrita de consulta: uma vez que a consulta é validada quanto a sua sintaxe e semântica, o banco de dados reescreve o SQL em uma representação interna mais simples e/ou mais eficiente (em geral, alguma representação canônica derivada da álgebra relacional). Otimização da consulta: através de um conjunto de regras de transformação, o SGBD manipula a sua representação interna da consulta e procura a estratégia de execução considerada mais eficiente. Geração de Código: de posse do plano de acesso otimizado, ocorrem as chamadas ao processador de execução (run time) do SGBD.
Compartilhar