Questão nº 63
Questão de Tecnologia da Informação · FGV TJ-AP 2024 (nº 63)
A tabela “Tbl_Financeiro” armazena milhares de registros de transações financeiras. Para lidar com consultas que envolvam agregações e cálculos complexos, o administrador de banco de dados poderá adotar a seguinte estratégia de otimização de consultas:
- Aaplicar “commits” aninhados;
- Butilizar índices bitmap para colunas que envolvam dados calculados;
- Creduzir a redundância dos dados aplicando técnicas de normalização;
- Dimplementar particionamento horizontal para dividir a tabela em segmentos menores;
- Earmazenar previamente os resultados de consultas frequentes utilizando visões materializadas. (alternativa correta)
Resposta comentada
Gabarito Alternativa E
Quando temos uma tabela gigante e precisamos fazer cálculos complexos (como somas ou médias) muitas vezes, a melhor forma de otimizar é não refazer o cálculo toda hora, mas sim guardar o resultado já pronto.
(A) Incorreta: `Commits` são para finalizar transações e garantir a integridade dos dados; não otimizam o desempenho de consultas de agregação.
(B) Incorreta: Índices bitmap são ótimos para colunas com poucos valores distintos e para filtros, mas não pre-calculam resultados de agregações complexas.
(C) Incorreta: Normalização reduz redundância, mas geralmente aumenta o número de `joins` (uniões de tabelas), o que pode tornar consultas de agregação mais lentas, não mais rápidas.
(D) Incorreta: Particionamento horizontal divide a tabela em pedaços menores, melhorando a escalabilidade e consultas que filtram por partição. No entanto, para agregações que envolvem todos os dados (cálculos complexos globais), ainda seria necessário processar todas as partições, não pre-calculando o resultado final. Armadilha da banca: Embora seja uma técnica de otimização válida para tabelas grandes, ela não resolve o problema de re-executar cálculos complexos da mesma forma que uma visão materializada.
(E) Correta: Visões materializadas armazenam fisicamente o resultado de uma consulta (inclusive agregações e cálculos complexos). Assim, quando a consulta é feita, o banco de dados retorna o resultado já calculado, sendo extremamente rápido para consultas frequentes.
Fonte: FGV TJ-AP 2024 Analista Judiciário - TI - Banco de Dados (Caderno Tipo 1). Reproduzida para fins de estudo.