SóProvas


ID
241639
Banca
CESPE / CEBRASPE
Órgão
MPU
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Julgue os itens a seguir acerca de técnicas de análise de
desempenho e otimização de consultas SQL em banco de dados.

As técnicas de otimização embasadas em heurísticas permitem estimar, sistematicamente, o custo de estratégias de execução diferentes e escolher o plano de execução com o menor custo estimado.

Alternativas
Comentários
  • A questão mistura os conceitos das 2 técnicas de otimização.
    Existem  2 técnicas básicas para otimização de consultas:
     
    As baseadas em heurísticas para a ordenação de acesso ao banco de dados,que participarão da estratégia de acesso;
     
    As que estimam sistematicamente o custo de estratégias de execução diferentes e escolhem o plano de execução com o menor custo estimado.

    http://www.inf.unioeste.br/~clodis/BDI/BDI_2007_Modulo6.pdf
  • As pesquisas por heurísticas são realizadas por meio da quantificação de proximidade a um determinado objetivo. Diz-se que se tem uma boa heurística se o objeto de avaliação estiver próximo ao objetivo a ser alcançado.
  • Heurística significa "um conjunto de regras e métodos que conduzem à descoberta, à invenção e à resolução de problemas (...) Diz-se que se tem uma boa (ou alta) heurística se o objeto de avaliação está muito próximo do objetivo; diz-se de má (ou baixa) heurística se o objeto avaliado estiver muito longe do objetivo"
    Só complementando, como o  Leonardo Marcelino Teixeira  explicou existem duas técnicas gerais para escolher o melhor plano de execução para uma consulta: Otimização baseada em custo e Otimização baseada em heurística. Otimizadores de consultas práticos incorporam elementos das duas técnicas.
    (1) Otimização baseada em custo gera uma série de planos de execução de consulta e escolhe aquela que tiver o menor custo. Uma desvantagem dessa técnica é o próprio custo gasto na otimização. Note que se uma consulta for muito complexa, podem ser gerados muitos planos de execução e encontrar aquele com menor custo pode requerer muito esforço. 
    (2) Otimizadores baseados em heurística servem exatamente para reduzir esse custo de otimização. Elas definem um conjunto de regras (heurísticas) e usam para gerar um plano de execução. Essas regras poderiam ser "Realize operações de seleção o mais cedo possível" ou "Realize projeções mais cedo". Desse modo, a otimização da consulta depende da heurística utilizada. Note que a otimização usa essas regras sem saber se o custo da consulta está mesmo sendo reduzido. Isso quer dizer que a otimização baseada em heurística nem sempre ajuda a reduzir o custo de uma consulta. 
    A questão está definindo o conceito de otimização baseada em custo e por isso está errada.
    (Fonte: Sistema de Banco de Dados, Silberchatz, 5ed, pg 394)
  • Gabarito Errado

    Se fosse a técnica de otimização baseada em custo, a questão estaria correta.

     

    Vamos na fé !

     

     

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !

  • heuristica = funciona, mas não me pergunte como.

    É uma aproximação.