SóProvas


ID
868417
Banca
CESPE / CEBRASPE
Órgão
TRE-MS
Ano
2013
Provas
Disciplina
Banco de Dados
Assuntos

Acerca de tunning de banco de dados, bem como de técnicas de análise de desempenho e otimização de consultas em SQL Server 2008 R2, assinale a opção correta.

Alternativas
Comentários
  • O comentário anterior mostra a alternativa D também como correta, porém a C é que é o gabarito.
    O que estaria errado nesta D seria o número de indices para a chave composta:"um índice clusterizado (CLUSTERED) na tabela para cada atributo pertencente à chave primária."?
  • Prezados,

    Vamos aos comentários de todas as alternativas.

    a) Se, no plano de execução de determinada consulta, o DBA visualizou um ícone na execução da consulta representando a operação bitmap, então a consulta encontrou, em determinado momento, um campo do tipo BLOB (binary large object) ou um índice do tipo fulltext
    Alternativa errada. De acordo com o site do produto, a presença do ícone bitmap não representa que a consulta encontrou um campo tipo BLOB ou fulltext, a presença do ícone indica que o SQL Server usa o operador Bitmap para implementar filtro de bitmap em planos de consulta paralelos. O filtro de bitmap acelera a execução de consulta eliminando linhas com valores de chave que não podem produzir nenhum relatório de junção antes de passar as linhas por outro operador como o operador Parallelism. Um filtro de bitmap usa uma representação compacta de um conjunto de valores de uma tabela em uma parte da árvore de operador de uma segunda tabela em outra parte da árvore. Com a remoção de linhas desnecessárias cedo na consulta, os operadores subseqüentes têm menos linhas para trabalhar e o desempenho geral da consulta melhora. O otimizador de consulta determina quando um bitmap é seletivo o bastante para ser útil e em quais operadores o filtro é aplicado.

    b) A opção fillfactor no índice com valor 0 indica que não haverá folheamento de índices, o que se traduz em velocidade, ao passo que, no índice com valor 100, essa opção indica que não haverá splits, porém maior necessidade de espaço para armazenamento de dados.
    Alternativa errada. Segundo o site do produto o valor de fator de preenchimento é uma porcentagem de 1 a 100 e o padrão para todo o servidor é 0, o que significa que as páginas de nível folha estão totalmente preenchidas, e não que não haverá folheamento de índices.

    c) Se o Sql Server estiver instalado em uma máquina com mais de um processador, ele pode decidir a quantidade de processadores a serem utilizados no processamento da consulta, cujo valor é limitado ao número máximo de processadores conforme configurado na opção max degree of parallelism. A opção MAXDOP na criação de um índice pode mudar essa configuração durante a execução de tal índice.
    Alternativa correta de acordo com o site do produto.
    É possível substituir o valor de max degree of parallelism das operações de índice especificando a opção de índice MAXDOP na instrução de índice. O valor MAXDOP é aplicado à instrução no tempo de execução e não é armazenado nos metadados do índice.

    d) Uma tabela que possua uma chave primária composta exige que seus dados sejam fisicamente classificados e armazenados com base em seus valores de chave e, desse modo, por padrão, o Sql Server cria um índice clusterizado (CLUSTERED) na tabela para cada atributo pertencente à chave primária.
    Alternativa errada. Não somente nos casos de chave primária composta, quando você cria uma restrição PRIMARY KEY, um índice clusterizado exclusivo é automaticamente criado na coluna ou nas colunas. Quando se cria uma restrição UNIQUE, é criado, por padrão, um índice não clusterizado exclusivo para impor uma restrição UNIQUE por padrão. Você pode especificar um índice clusterizado exclusivo caso ainda não exista um índice clusterizado na tabela.


    e) Se, no plano de execução de determinada consulta, o DBA visualizou um ícone na execução da consulta representando a operação the nested loops, então a consulta utilizou, em determinado momento, um indicador de fila ou chave de clustering para pesquisar a linha correspondente na tabela ou índice clusterizado.
    Alternativa errada. O operador Nested Loops executa operações lógicas de junção interna, junção externa esquerda, left semi join e left anti semi join
     
    Portanto, a alternativa correta para essa questão é a letra C.
     
    Fonte :
    - http://msdn.microsoft.com/pt-br/library/ms175913(v=sql.105).aspx
    - http://msdn.microsoft.com/pt-br/library/ms190638(v=sql.105).aspx
    - http://msdn.microsoft.com/pt-br/library/ms177459.aspx
    - http://msdn.microsoft.com/pt-br/library/ms181007(v=sql.105).aspx
    - http://msdn.microsoft.com/pt-br/library/ms186342.aspx
    - http://msdn.microsoft.com/pt-br/library/ms187871(v=sql.105).aspx
  • Boa tarde!

    Estamos encaminhando ao setor responsável.
    Agradecemos pelo retorno.


  • D. Não se cria um índice clusterizado para cada atributo e sim um índice com todos os atributos.

    Além disso esse padrão (de organizar as tabelas em clustered index) não se refere especificamente a chaves primárias compostas, e essas tabelas podem sim ser criadas como heaps e com a chave usando índice non clustered.