Questão nº 78

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

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

No SQL Server, uma das práticas recomendadas para otimizar o desempenho de consultas complexas, é o uso de índices compostos. Considere a seguinte situação:
Uma tabela de vendas (Vendas) contém as colunas data_venda, id_cliente, valor_total. Deseja-se otimizar a consulta que filtra registros por id_cliente e ordena por data_venda.
Assinale a opção que indica a configuração de índice mais adequada.

Resposta comentada

Gabarito Alternativa D

Um índice composto é uma estrutura que organiza os dados de uma tabela com base em múltiplas colunas, como um catálogo telefônico com sobrenome e depois nome. A ordem das colunas no índice é crucial, pois define como o banco de dados busca e ordena as informações.

  • (A) Incorreta: Um índice apenas em valor_total não otimiza a busca por id_cliente nem a ordenação por data_venda, pois essas colunas não estão no índice.
  • (B) Incorreta: Um índice apenas em data_venda otimizaria a ordenação, mas não a filtragem por id_cliente, que ainda exigiria uma varredura para encontrar os clientes desejados.
  • (C) Incorreta: Esta é a armadilha da banca. Um índice composto em (data_venda, id_cliente) não é o ideal porque a consulta filtra por id_cliente. Para usar o índice de forma eficiente, a coluna da cláusula WHERE (o filtro) deve vir primeiro. Se data_venda vem primeiro, o banco de dados teria que percorrer o índice por todas as datas para encontrar os registros do id_cliente específico, perdendo a eficiência do filtro.
  • (D) Correta: Um índice composto em (id_cliente, data_venda) é o mais adequado. Ele permite que o banco de dados localize rapidamente os registros para um id_cliente específico (primeira coluna do índice) e, dentro desses registros, os dados já estarão pré-ordenados por data_venda (segunda coluna do índice). Isso otimiza tanto a cláusula WHERE quanto a ORDER BY simultaneamente.
  • (E) Incorreta: Um índice filtrado em valor_total com uma condição específica não tem relação com a otimização da consulta que filtra por id_cliente e ordena por data_venda.

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