SóProvas


ID
245230
Banca
CESPE / CEBRASPE
Órgão
TRT - 21ª Região (RN)
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Acerca de desempenho e otimização de consultas SQL no SQL
Server 2008, julgue os itens de 63 a 69.

A configuração dinâmica de valores no fill factor, para determinado índice entre 0% e 100%, permite ajustar o armazenamento e o desempenho de dados de índice. Desse modo, o mecanismo de banco de dados executa estatísticas sobre a tabela para manter a porcentagem de espaço livre especificada no fill factor, em cada página, a cada inserção de dados na tabela.

Alternativas
Comentários
  • http://www.linhadecodigo.com.br/artigo/94/Como-Funciona-o-Fill-Factor-do-SQL-Server.aspx

  • Encontrei dois possiveis erros na assertiva:
    - o primeiro é que, tradicionalmente, o fill factor é preenchido manualmente pelo DBA. Não tenho conhecimento de "configuração dinâmica de valores do fill factor".
    - O segundo é que, no fim da questão, é dito que as tais "estatísticas sobre a tabela" (que discordo que existam), são executadas/calculadas a cada inserção de dados na tabela. No entanto, é sabido que o fill factor trata tanto de inserções quanto de alterações. Isso bastaria para dar como errada a questão.
  • FILL FACTOR é a quantidade de espaço livre por página que o BD deve manter.
    Quando deve ser reservado para os índices e quanto deve ser mantido em branco.

    * Configuração Manual
    * Quanto menor o FILL FACTOR, mais rapida a inserção de novos indices porém mais páginas para guardá-los
    * Reservado para a inclusão e alteração.
  • Pelo que entendi da questão, quando ela fala em configuração dinâmica, ela quer passar que os índices são reorganizados dinamicamente conforme o valo do fill factor. Basicamente a questão está tentando definir o que é um page split.

    Esse termo configuração dinâmica pode até ser um erro, não sou especialista, mas o maior problema mesmo é que não existe essa execução de estatísticas para manter a porcentagem especificada no fill factor, em outras palavras, não há page split nessa situação. O page split na realidade ocorre quando um registro é inserido ou atualizado e a página não possui espaço livre, aí sim SQL Server reorganiza todas as páginas para armazenar esse novo registro.

    Para compreender melhor o mecanismo e meu comentário: http://imasters.com.br/artigo/14751/sql_server/o_paradigma_fillfactor_parte_01/
  • A opção FILL FACTOR determina quantos % de uma página de dados deve ser preenchido com o índice e quanto deve ser mantido em branco, reservado para inclusões e alterações.

    Por exemplo, se marcarmos FILL FACTOR = 80%, então o SQL Server irá apenas preencher 80% de cada página com os índices. Se você alterar ou incluir dados, o SQL Server consegue reorganizar os índices de maneira mais rápida, pois ele tem 20% de espaço em branco em cada página de dados para poder preencher.