FC ConcursosFC Concursos

Questão FC546312

Em um sistema de banco de dados relacional, que gerencia uma tabela com milhões de registros, é necessário otimizar consultas em uma coluna textual (VARCHAR(100)) que armazena nome

Otimização (Tuning) em Banco de Dados

FURB · 2025

Em um sistema de banco de dados relacional, que gerencia uma tabela com milhões de registros, é necessário otimizar consultas em uma coluna textual (VARCHAR(100)) que armazena nomes de produtos. A consulta mais comum utiliza o padrão LIKE 'prefixo%' para buscar produtos que começam com um prefixo específico, como SELECT * FROM produtos WHERE nome_produto LIKE 'eletr%';. Além disso, a tabela possui alta cardinalidade (muitos valores distintos) e é frequentemente atualizada com inserções e alterações. Considerando os diferentes tipos de índices disponíveis e suas características, assinale a alternativa que apresenta o tipo de índice mais eficiente para otimizar essas consultas, levando em conta tanto a performance de leitura quanto o impacto em operações de escrita:

  1. Índice B-tree.
  2. Índice full-text.
  3. Índice hash.
  4. Índice bitmap.
  5. Índice espacial.
Mostrar resposta e comentário

Gabarito

A

Comentário do professor

O índice B-tree é o mais adequado para consultas do tipo LIKE 'prefixo%' porque armazena as chaves em ordem e permite fazer um range scan: o otimizador localiza a primeira entrada que casa com o prefixo e percorre sequencialmente as entradas seguintes até o fim do intervalo, evitando varreduras completas da tabela.

Em tabelas com alta cardinalidade a estrutura balanceada da B-tree mantém baixa altura da árvore, garantindo poucas leituras de disco por busca e latência consistente mesmo com milhões de registros.

Quanto a escritas, a B-tree impõe algum custo em inserções e atualizações por causa de reorganizações e splits de páginas, mas esse impacto é moderado e compensado pela grande redução no tempo de leitura para consultas prefixadas.

Na prática, crie o índice sobre nome_produto respeitando collation/case sensitivity e mantenha estatísticas atualizadas para melhor desempenho.

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

Continue aprendendo