FC ConcursosFC Concursos

Questão FC546313

Em um sistema de e-commerce, foi criado um índice do tipo hash sobre a coluna preço da tabela produtos. Esse índice está sendo utilizado em consultas com filtros como: SELECT * FRO

Otimização (Tuning) em Banco de Dados

FURB · 2025

Em um sistema de e-commerce, foi criado um índice do tipo hash sobre a coluna preço da tabela produtos. Esse índice está sendo utilizado em consultas com filtros como:

 

SELECT * FROM produtos WHERE preco BETWEEN 100 AND 300;

 

I.Índices hash são ineficientes para consultas com operadores de intervalo, como BETWEEN, porque sua estrutura não mantém ordenação dos valores indexados.

 

II.A atualização de índices hash ocorre na reconstrução completa do índice sempre que um novo registro é inserido na tabela produtos em sistemas de banco de dados como PostgreSQL e MySQL.

 

III.A limitação dos índices hash em consultas de intervalo reside em sua restrição a campos numéricos, o que os tornam inutilizáveis para campos textuais ou data.

 

É correto o que se afirma em:

  1. I, apenas.
  2. I e II, apenas.
  3. II e III, apenas.
  4. III, apenas.
  5. I, II e III.
Mostrar resposta e comentário

Gabarito

A

Comentário do professor

Item I está correto porque um índice do tipo hash transforma valores em endereços de buckets por meio de uma função de dispersão, sem preservar qualquer ordenação entre as chaves.


Consultas com BETWEEN ou outros operadores de intervalo dependem de uma sequência ordenada de valores para varrer apenas a faixa desejada. Como o índice hash não organiza os registros de forma sequencial, uma busca por intervalo não consegue explorar eficientemente esse mapa de buckets e, em geral, acaba requerendo varredura de muitos buckets ou da tabela.


Por isso, para filtros por intervalo costuma-se usar índices que mantêm ordem, como B-tree, enquanto índices hash são indicados para buscas por igualdade (por exemplo WHERE preco = 200).

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo