Questão nº 86

Questão de Tecnologia da Informação · FGV CGE-SP 2025 (nº 86)

FGV2025Auditor Estadual de Controle - Tecnologia da InformaçãoTecnologia da Informação
Gabarito: Ever comentário ↓

Um DBA está avaliando o desempenho de uma consulta que frequentemente busca dados na tabela Auditoria (com 500 milhões de registros) usando a coluna DataHora_Acesso na cláusula WHERE. O DBA decide criar um índice clusterizado nessa coluna (após remover o índice existente na chave primária autoincremento, se necessário).
Assinale a opção que apresenta a principal implicação técnica de criar um índice clusterizado na coluna DataHora_Acesso de uma tabela tão grande no MS SQL Server, e a consequência direta para a ordenação física dos dados.

Resposta comentada

Gabarito Alternativa E

Um índice clusterizado é como o índice de um livro que também organiza as páginas do livro na ordem do índice. No banco de dados, ele define a ordem física em que as linhas de dados são armazenadas na tabela, tornando a própria tabela a folha final do índice.

  • A) Incorreta: Uma tabela pode ter apenas um índice clusterizado, pois só pode haver uma ordem física de armazenamento dos dados. Embora seja tecnicamente possível criar um índice não clusterizado na mesma coluna do índice clusterizado, isso seria redundante e ineficiente, não sendo uma implicação principal.
  • B) Incorreta: O índice clusterizado define a ordenação física dos dados. Se uma tabela tem um índice clusterizado, ela não é um heap (que é uma tabela sem ordem física). Índices são para otimização de acesso, não para desnormalização.
  • C) Incorreta: O índice clusterizado não é apenas um bookmark lógico; ele é a própria estrutura física da tabela. A ordenação física é sempre determinada pelo índice clusterizado existente; se o DBA o moveu para DataHora_Acesso, essa coluna passa a determinar a ordem.
  • D) Incorreta: O MS SQL Server, como a maioria dos SGBDs, permite que uma tabela tenha apenas um índice clusterizado. Não é possível ter múltiplos índices clusterizados.
  • E) Correta: O índice clusterizado define a ordem física de armazenamento das linhas de dados na tabela. Isso acelera drasticamente consultas que buscam dados em um intervalo (BETWEEN, >, <) na coluna indexada, pois os dados relevantes estão fisicamente próximos. No entanto, inserir novos registros ou atualizar a coluna do índice clusterizado pode ser mais lento, pois o SGBD precisa realocar fisicamente os dados para manter a ordem, o que pode causar page splits e maior I/O. Mesmo INSERTs e UPDATEs em outras colunas podem ser afetados devido à necessidade de manter a estrutura da página e a integridade do índice.

Fonte: FGV CGE-SP 2025 Auditor Estadual de Controle - Tecnologia da Informação (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho