FC ConcursosFC Concursos

Questão FC369697

Os Sistemas Gerenciadores de Banco de Dados (SGBD) comerciais implementam internamente técnicas para processar, otimizar e executar consultas de alto nível. Uma estratégia eficient

Otimização (Tuning) em Banco de Dados

FGV · 2024

Os Sistemas Gerenciadores de Banco de Dados (SGBD) comerciais implementam internamente técnicas para processar, otimizar e executar consultas de alto nível.

 

Uma estratégia eficiente utilizada pelo otimizador de consultas do SGBD considera o uso de:

  1. regras heurísticas de forma a realizar restrições (seleções) antes de projeções para reduzir o número de atributos para as projeções;
  2. estimativas de custo para identificar restrições (seleções) mais eficientes como entrada para execução das projeções com menos atributos;
  3. regras heurísticas de forma a realizar restrições (seleções) antes de projeções para reduzir o número de tuplas para as projeções;
  4. estimativas de custo para consultas compiladas com o intuito de realizar junções e projeções antes das restrições (seleções);
  5. regras heurísticas associadas a estimativas de custo para consultas interpretadas para eliminar o produto cartesiano.
Mostrar resposta e comentário

Gabarito

Certo

Comentário do professor

A alternativa aponta uma técnica heurística comum: aplicar primeiro as seleções (filtros) antes das projeções (redução de colunas). Ao filtrar linhas, o otimizador diminui o volume de tuplas que precisam ser processadas adiante, reduzindo custo de CPU e I/O.

Se a relação inicial tem \(N\) tuplas e a seletividade do filtro é \(s\), o número esperado de tuplas após a seleção é \(s \times N\). Com menos linhas, operações posteriores (projeção, junção, ordenação) ficam mais rápidas.

Além disso, executar seleções cedo permite o uso de índices ou pushdown de predicados, acelerando a leitura. Observa‑se, porém, que a ordem só é válida se a projeção não eliminar atributos necessários para avaliar a seleção.

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

Continue aprendendo