Pular para o conteúdo principal

Questão de Banco de Dados — Otimização (Tuning) em Banco de Dados — CESPE / CEBRASPE 2025

Banco de DadosOtimização (Tuning) em Banco de Dados
Código
ce417275
Banca
CESPE / CEBRASPE
Órgão
BDMG
Ano
2025
Cargo
Ana Desen ( )

Julgue o próximo item, relativo a visualização de dados, banco de dados e BI (business intelligence).

 

Índices em colunas frequentemente usadas em cláusulas WHERE podem melhorar significativamente a performance de consultas SQL em bancos de dados relacionais.

  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoC — Certo

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Índices em bancos de dados relacionais

Gabarito: Certo. A afirmativa está correta: índices criados sobre colunas frequentemente usadas em cláusulas WHERE podem melhorar significativamente a performance de consultas SQL em bancos de dados relacionais. Isso ocorre porque o índice permite ao SGBD localizar diretamente as linhas que atendem à condição, evitando a varredura completa da tabela (full table scan).

Um índice é uma estrutura de dados auxiliar, geralmente implementada como uma árvore B ou uma tabela hash, que armazena os valores de uma ou mais colunas de forma ordenada e aponta para as linhas correspondentes na tabela. Quando uma consulta filtra por uma coluna indexada, o otimizador de consultas pode usar o índice para encontrar rapidamente os registros relevantes, em vez de ler todas as linhas da tabela para verificar a condição. Essa é a base do tuning de consultas SQL.

A otimização de consultas, também chamada de tuning, é o processo de escolher a estratégia de execução mais eficiente para uma consulta, com o objetivo de minimizar o tempo de resposta e o uso de recursos. O uso adequado de índices é uma das principais técnicas de otimização, pois reduz drasticamente o número de operações de I/O (leitura em disco), que são as mais lentas em um sistema de banco de dados.

No entanto, é importante destacar que a criação de índices não é uma solução universal. Índices em colunas com baixa seletividade (poucos valores distintos) ou em tabelas com poucas linhas podem não trazer benefícios e até prejudicar o desempenho de operações de escrita (INSERT, UPDATE, DELETE), pois o índice também precisa ser atualizado. Além disso, aplicar funções diretamente sobre a coluna filtrada (ex.: WHERE ANO(data) = 2023) torna a consulta não-SARGable, impedindo o uso do índice. Portanto, a afirmativa está correta ao afirmar que índices em colunas usadas em WHERE podem melhorar a performance, o que é verdadeiro na maioria dos casos práticos.

A pegadinha desta questão é justamente a palavra "podem". O candidato pode ser levado a marcar "Errado" ao pensar em casos em que o índice não ajuda (como em colunas de baixa seletividade ou em tabelas pequenas). No entanto, a afirmativa não diz que o índice sempre melhora, apenas que pode melhorar, o que é uma afirmação verdadeira e genérica. A banca explora a tendência do candidato de buscar exceções para negar uma afirmação que, na verdade, é correta em sua essência.

1Melhora performance
Evita full table scan
Localiza linhas direto
Reduz I/O em disco
2Pode prejudicar
Baixa seletividade
Tabela pequena
Escritas (INSERT/UPDATE/DELETE)
3Não-SARGable
Função na coluna (ex.: ANO(data))
Impede uso do índice
Índice em coluna de WHERE
LEVELsoulevel.com.br
Índice em coluna de WHERE: Melhora performance (Evita full table scan, Localiza linhas direto, Reduz I/O em disco); Pode prejudicar (Baixa seletividade, Tabela pequena, Escritas (INSERT/UPDATE/DELETE)); Não-SARGable (Função na coluna (ex.: ANO(data)), Impede uso do índice)
NÃO CAIA NESSA!

A banca usa o verbo "podem" para induzir o candidato a pensar em exceções (como colunas de baixa seletividade ou tabelas pequenas) e marcar "Errado". Mas a afirmativa é genérica e verdadeira: índices em colunas de WHERE podem (e geralmente melhoram) a performance. Não confunda a regra geral com as exceções — a questão não afirma que o índice é sempre benéfico.

CERTO

Link permanente: /questoes/ce417275