Pular para o conteúdo principal

Questão de Banco de Dados — SQL Server — FCC 2026

Banco de DadosSQL Server
Código
fc142350
Banca
FCC
Órgão
MPE SE
Ano
2026
Cargo
Ana ( )
O setor de tecnologia da informação utiliza o Microsoft SQL Server para gerenciar as informações processuais. Um analista foi designado para otimizar o desempenho do sistema, que tem apresentado lentidão em consultas complexas. Ao investigar a causa, ele identifica que a fragmentação de índices e a falta de estatísticas atualizadas estão impactando significativamente o tempo de resposta das operações.   Diante desse cenário, a ação mais adequada para solucionar o problema e garantir a saúde do banco de dados é
  1. Aadicionar mais arquivos de log (.ldf) ao banco de dados para acelerar as operações de escrita, o que resolve a lentidão das consultas e o problema de fragmentação de índices.
  2. Brealizar uma operação de DBCC CHECKDB para reconstruir todos os índices do banco de dados, pois essa é a única forma de corrigir a fragmentação e atualizar as estatísticas automaticamente.
  3. Cdesativar a criação de índices no banco de dados, uma vez que eles consomem espaço em disco e prejudicam o desempenho das operações de INSERT e UPDATE, que são mais frequentes.
  4. Dutilizar o comando DBCC SHRINKDATABASE para reduzir o tamanho do arquivo do banco de dados, liberando espaço e, consequentemente, melhorando o desempenho das consultas.
  5. Eexecutar regularmente os comandos ALTER INDEX REORGANIZE para desfragmentar índices de forma on-line e UPDATE STATISTICS para garantir que o otimizador de consultas use as informações mais recentes para criar planos de execução eficientes.
Revelar gabarito e comentário

GabaritoE — executar regularmente os comandos ALTER INDEX REORGANIZE para desfragmentar índices de forma on-line e UPDATE STATISTICS para garantir que o otimizador de consultas use as informações mais recentes para criar planos de execução eficientes.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Otimização de desempenho no SQL Server: fragmentação de índices e estatísticas

Gabarito: letra E. A ação mais adequada para resolver a lentidão causada por fragmentação de índices e estatísticas desatualizadas é executar regularmente ALTER INDEX REORGANIZE para desfragmentar índices de forma on-line e UPDATE STATISTICS para garantir que o otimizador de consultas use informações recentes na criação de planos de execução eficientes. As demais alternativas confundem o problema com outras operações de administração de banco de dados, como gerenciamento de arquivos de log, verificação de integridade, redução de tamanho ou desativação de índices.

A fragmentação de índices ocorre quando as páginas de dados de um índice ficam desordenadas fisicamente, devido a operações de INSERT, UPDATE e DELETE. Isso faz com que o SQL Server precise ler mais páginas do que o necessário para atender a uma consulta, aumentando o I/O e degradando o desempenho. Para resolver esse problema, o SQL Server oferece duas operações principais: ALTER INDEX REORGANIZE e ALTER INDEX REBUILD. A primeira é uma operação on-line, que desfragmenta o índice de forma leve, reorganizando as páginas, e é indicada para fragmentação baixa a moderada. A segunda é uma operação mais pesada, que reconstrói o índice do zero, e é indicada para fragmentação alta. A alternativa E menciona corretamente o REORGANIZE como uma forma de desfragmentar índices de forma on-line.

As estatísticas são informações sobre a distribuição dos dados em uma tabela ou índice, que o otimizador de consultas utiliza para estimar o custo de diferentes planos de execução. Se as estatísticas estiverem desatualizadas, o otimizador pode escolher um plano ineficiente, como um table scan em vez de um index seek. O comando UPDATE STATISTICS atualiza essas informações, garantindo que o otimizador tenha dados precisos para tomar decisões. A alternativa E também menciona corretamente o UPDATE STATISTICS para esse fim.

A alternativa A sugere adicionar mais arquivos de log (.ldf) para acelerar operações de escrita, o que não resolve a lentidão das consultas nem a fragmentação de índices. Os arquivos de log são usados para garantir a durabilidade das transações, não para melhorar o desempenho de leitura. A alternativa B sugere usar DBCC CHECKDB para reconstruir índices, mas esse comando é usado para verificar a integridade lógica e física do banco de dados, não para reconstruir índices. A alternativa C sugere desativar a criação de índices, o que é uma medida extrema e prejudicial, pois os índices são essenciais para o desempenho de consultas. A alternativa D sugere usar DBCC SHRINKDATABASE para reduzir o tamanho do banco de dados, o que não melhora o desempenho das consultas e pode até piorá-lo, pois causa fragmentação adicional.

A pegadinha desta questão está em confundir operações de administração de banco de dados com operações de otimização de desempenho. O candidato pode ser tentado a escolher uma alternativa que pareça técnica, mas que não resolve o problema específico descrito no enunciado. A chave é identificar que o problema é a fragmentação de índices e a falta de estatísticas atualizadas, e que a solução deve abordar esses dois pontos diretamente.

Otimização de desempenho (SQL Server)
  • 1Problema: fragmentação de índices
    • Causa: INSERT/UPDATE/DELETE
    • Efeito: mais I/O, consultas lentas
    • Solução: ALTER INDEX REORGANIZE (on-line, leve)
  • 2Problema: estatísticas desatualizadas
    • Efeito: planos ineficientes (table scan)
    • Solução: UPDATE STATISTICS
  • 3Comandos que NÃO resolvem
    • Adicionar .ldf (log)
    • DBCC CHECKDB (integridade)
    • Desativar índices
    • DBCC SHRINKDATABASE (reduzir tamanho)
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Adicionar mais arquivos de log (.ldf) ao banco de dados não acelera as operações de escrita nem resolve a lentidão das consultas ou a fragmentação de índices. Os arquivos de log são usados para registrar as transações e garantir a durabilidade, não para melhorar o desempenho de leitura. A fragmentação de índices é um problema de organização física das páginas de dados, que não é afetado pela quantidade de arquivos de log.

Alternativa B — ❌ Incorreta

O comando DBCC CHECKDB é usado para verificar a integridade lógica e física do banco de dados, detectando corrupção e erros de alocação. Ele não reconstroi índices nem atualiza estatísticas automaticamente. Para reconstruir índices, o comando correto é ALTER INDEX REBUILD ou DBCC DBREINDEX (obsoleto). Para atualizar estatísticas, o comando correto é UPDATE STATISTICS.

Alternativa C — ❌ Incorreta

Desativar a criação de índices no banco de dados é uma medida extrema e prejudicial. Os índices são essenciais para o desempenho de consultas, pois permitem acesso rápido aos dados. Embora consumam espaço em disco e possam impactar operações de INSERT e UPDATE, os benefícios para consultas superam os custos. A solução para o problema descrito não é desativar índices, mas sim gerenciar sua fragmentação e atualizar estatísticas.

Alternativa D — ❌ Incorreta

O comando DBCC SHRINKDATABASE é usado para reduzir o tamanho dos arquivos do banco de dados, liberando espaço em disco. Ele não melhora o desempenho das consultas e pode até piorá-lo, pois causa fragmentação adicional nos índices e nas tabelas. A redução do tamanho do banco de dados não tem relação com a fragmentação de índices nem com a atualização de estatísticas.

Alternativa E — ✅ Correta ⟵ GABARITO

A alternativa E descreve corretamente as duas ações necessárias para resolver o problema: executar ALTER INDEX REORGANIZE para desfragmentar índices de forma on-line e UPDATE STATISTICS para garantir que o otimizador de consultas use informações recentes na criação de planos de execução eficientes. O REORGANIZE é uma operação leve e on-line, adequada para fragmentação baixa a moderada, enquanto o UPDATE STATISTICS atualiza as informações de distribuição de dados, permitindo que o otimizador escolha planos de execução mais eficientes.

NÃO CAIA NESSA!

Para questões sobre otimização de desempenho em bancos de dados, identifique primeiro o problema específico descrito no enunciado. Se for fragmentação de índices, lembre-se de ALTER INDEX REORGANIZE (leve, on-line) e ALTER INDEX REBUILD (pesado, off-line). Se for estatísticas desatualizadas, use UPDATE STATISTICS. Não confunda com comandos de verificação de integridade (DBCC CHECKDB), redução de tamanho (DBCC SHRINKDATABASE) ou gerenciamento de arquivos de log.

Gabarito: letra E

Link permanente: /questoes/fc142350