FC ConcursosFC Concursos

Questão FC890531

Um Tribunal de Justiça identificou degradação de desempenho em consultas que filtram registros por múltiplas colunas combinadas por operadores lógicos AND na cláusula WHERE. A equi

Otimização (Tuning) em Banco de Dados

FGV · 2026

Um Tribunal de Justiça identificou degradação de desempenho em consultas que filtram registros por múltiplas colunas combinadas por operadores lógicos AND na cláusula WHERE. A equipe de administração de banco de dados (DBA) decide criar um índice composto (multi-column index) para otimizar essas operações.

 

Considerando o funcionamento de índices compostos baseados em árvores balanceadas (B-Tree), em sistemas gerenciadores de bancos de dados relacionais, assinale a afirmativa correta.

  1. A ordem das colunas na definição do índice não interfere em sua eficiência, uma vez que o otimizador de consultas reordena os predicados automaticamente para garantir o uso do índice.
  2. A utilização do índice composto é otimizada quando os predicados da consulta seguem a ordem de definição das colunas no índice, respeitando a regra do prefixo à esquerda (leftmost prefix).
  3. Um índice composto só pode ser utilizado pelo motor de execução se todas as colunas que o compõem forem obrigatoriamente referenciadas na cláusula de filtragem da consulta.
  4. A criação de índices compostos em colunas com baixa seletividade garante, de forma determinística, a substituição do escaneamento sequencial de tabela (table scan) pelo escaneamento de índice (index scan).
  5. Índices compostos tornam-se desnecessários em sistemas modernos que implementam técnicas como index skip scan, sendo a ordem das colunas irrelevante para o desempenho das consultas.
Mostrar resposta e comentário

Gabarito

B

Comentário do professor

Um índice composto em árvore B-Tree organiza entradas seguindo a ordem das colunas definidas, por isso a regra do leftmost prefix é fundamental: o mecanismo usa eficientemente o índice quando os predicados da consulta cobrem a(s) primeira(s) coluna(s) na mesma ordem em que foram definidas.


Exemplo: para um índice (A, B, C), uma busca com WHERE A = ... AND B = ... permite navegação apontada (seek) até a faixa desejada e uso pleno do índice. Já uma busca que começa apenas por B não aproveita a ordenação inicial e, na maioria dos SGBD, perde a eficiência do índice.


Além disso, predicados por igualdade na(s) coluna(s) inicial(is) permitem que colunas seguintes sejam usadas; porém um predicado por intervalo em uma coluna anterior limita o uso das colunas subsequentes para busca direcionada.

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

Continue aprendendo