SóProvas


ID
271024
Banca
CESPE / CEBRASPE
Órgão
PREVIC
Ano
2011
Provas
Disciplina
Banco de Dados
Assuntos

Considerando que, em qualquer sistema de banco de dados em que
se espera atingir um desempenho aceitável, a otimização de
consultas constitui uma necessidade, julgue os itens subsecutivos.

Para se traçar estimativa do custo de um plano de consulta, nos otimizadores, utilizam-se informações estatísticas armazenadas no catálogo do SGBD. Para que essas estatísticas sejam precisas, devem ser atualizadas sempre que a base de dados for modificada, o que não é realizado na maioria dos sistemas, por causa do overhead gerado.

Alternativas
Comentários
  • As estatísticas de consultas de um banco de dados devem ser as mais atuais possiveis, pois elas indicam quais caminhos o bd deve seguir ao prosseguir com uma consulta. Por exemplo, o serem inseridos novos índices em um determinado esquema de banco de dados, as estatisticas devem ser novamente colhidas, para que o bd saiba da existencia de tais índices e possa verificar se através deles a consulta se tornará mais rápida (ou menos custosa). Entretanto, para a "colheita" dessas estatísticas, o bd é sempre penalizado, pois precisa fazer uma varredura completa em seu catálogo, comparar com as estatisticas anteriores e este processo tanto consome memória, como processador e disco.
  • Para se traçar estimativa do custo de um plano de consulta, nos otimizadores, utilizam-se informações estatísticas armazenadas no catálogo do SGBD.  (correto)

    Para que essas estatísticas sejam precisas, devem ser atualizadas sempre que a base de dados for modificada, o que não é realizado na maioria dos sistemas, por causa do 
    overhead gerado.
    Segundo Date (seção 18.5), As estatísticas de banco de dados não são atualizadas "em tempo real" (toda vez que o banco de dados é atualizado/modificado), devido à sobrecarga que tal técnica acarretaria. Em vez disso, elas são atualizadas seletivamente. No DB2, há um utilitário chamado RUNSTATS, executado a pedido do DBA e no Ingres é o OPTIMIZEDB. Mecanismos semelhantes são encontrados na maioria dos produtos comerciais.

    Dessa forma, o segundo período também está correto.
  • Em ciência da computação overhead é geralmente considerado qualquer processamento ou armazenamento em excesso, seja de tempo de computação, de memória, de largura de banda ou qualquer outro recurso que seja requerido para ser utilizado ou gasto para executar uma determinada tarefa. Como consequência pode piorar o desempenho do aparelho que sofreu o overhead.

    Termo utilizado em administração da produção para caracterizar um processamento ou armazenamento em excesso, seja de tempo, de materiais, de informações ou condições impeditivas para executar uma determinada tarefa. Como consequência, pode piorar o desempenho organizacional.
    Fonte: http://pt.wikipedia.org/wiki/Overhead

  • Leonardo Marcelino Teixeira falou sobre a ferramenta do DB2 para otimizar a consulta. No PostgreSQL também há uma ferramenta que creio que seja similar: o Vacuum. Mas além de ajudar na otimização de consultas, ele tem uma particularidade: no PostgreSQL os registros deletados e alterados ficam no disco até ele ser rodado. Se demorar muito tempo pra rodar, as consultas começam a ficar lentas. Na minha experiência pessoal, um banco de dados de porte pequeno a médio (alguns GigaBytes), rodar o Vacuum uma vez por semana é suficiente. A execução pode levar horas, a depender do tamanho, e o sistema deve estar parado. Então se for um sistema que rode 24 horas por dia, essa execução deve ser planejada com mais cautela.

    http://www.devmedia.com.br/otimizacao-uma-ferramenta-chamada-vacuum/1710