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.
- 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.
- 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).
- 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.
- 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).
- Í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