Questão nº 34
Questão de Tecnologia da Informação · FGV CVM 2024 (nº 34)
Diante de várias reclamações de performance em resposta a consultas a dados por meio de um dos sistemas estruturantes de uma autarquia federal, a equipe de tecnologia identificou que o motivo estava na lentidão para recuperação de registros na base de dados utilizada pelo sistema. Para agilizar a recuperação de registros em resposta a uma pesquisa que utiliza um campo que comporta valores repetidos, a equipe de tecnologia criou índices.
Considerando que já existe um índice primário para o conjunto de dados em questão, a equipe criou um índice:
- Amultinível secundário esparso de chave candidata;
- Bde agrupamento (clustering) denso para o campo de ordenação física;
- Cbitmap para um ou mais campos de pesquisa para os quais há grandes variações de valores;
- Dde hash para o campo de pesquisa que é utilizado para organização do índice primário;
- Esecundário não denso para o campo de pesquisa com um nível de indireção extra para múltiplos ponteiros. (alternativa correta)
Resposta comentada
Gabarito Alternativa E
Índices são estruturas que funcionam como um catálogo de livro, ajudando o banco de dados a encontrar informações rapidamente sem ter que ler todos os registros, acelerando as consultas.
- A) Incorreta: Um índice esparso (não denso) só é eficiente se os dados estiverem ordenados fisicamente pelo campo indexado, o que não é garantido para um campo secundário com valores repetidos. Além disso, "chave candidata" implica unicidade, contradizendo a informação de "valores repetidos".
- B) Incorreta: Só pode haver um índice de agrupamento (clustering) por tabela, pois ele define a ordem física dos dados. Como a questão afirma que já existe um índice primário, não seria possível criar outro índice de agrupamento. Esta é a armadilha da banca, pois "agrupamento" parece uma boa solução para performance, mas a restrição de "um por tabela" o inviabiliza.
- C) Incorreta: Índices bitmap são mais eficientes para campos com poucos valores distintos (baixa cardinalidade), como "sexo" ou "status", e não para campos com "grandes variações de valores" (alta cardinalidade).
- D) Incorreta: Índices de hash são ótimos para buscas de igualdade exata, mas não para buscas de intervalo (ex: "entre X e Y"). Além disso, criar um índice de hash para o campo que já organiza o índice primário seria redundante ou inadequado, especialmente para um campo com valores repetidos que não é a chave primária.
- E) Correta: Um índice secundário é a escolha apropriada para acelerar buscas em um campo que não é a chave primária, especialmente quando já existe um índice primário. Para um campo que comporta valores repetidos, o índice precisa apontar para todos os registros que contêm aquele valor. Isso é feito através de "múltiplos ponteiros" (referências para os registros, como chaves primárias ou identificadores de registro) associados a cada valor distinto no índice. O "nível de indireção extra" refere-se a essa capacidade de apontar para essas referências ou para o índice primário, em vez de diretamente para o endereço físico do registro, o que é uma característica comum de como índices secundários lidam com a localização de dados.
Fonte: FGV CVM 2024 Analista CVM - Ciência de Dados (Perfil 7) (Caderno Tipo 1). Reproduzida para fins de estudo.