Questão nº 71
Questão de Informática · FGV MPMS 2012 (nº 71)
Os otimizadores de consultas SQL dos principais sistemas gerenciadores de bancos de dados não dependem exclusivamente das regras gerais de transformação de operações da álgebra relacional para estimar e comparar os custos de execução de uma consulta SQL.
Dentre os principais componentes avaliados para a execução de uma consulta se destacam os custos de
- Amemória, comunicação, armazenamento secundário e computação. (alternativa correta)
- Bbuffers e buckets, page faults, armazenamento e computação.
- Cmemória, compilação, fator de divisão de bloco e de transferência de blocos.
- Ddisco rígido, número de operações E/S, fator de blocagem e computação.
- Ebuffers de memória, page faults, fator de blocagem e comunicação entre processadores.
Resposta comentada
Gabarito Alternativa A
O otimizador de consultas SQL é como um GPS para o banco de dados: ele analisa várias rotas (planos de execução) para uma consulta e escolhe a mais barata, estimando os custos envolvidos em cada uma.
- (A) Correta: Os otimizadores de consultas consideram memória (quanto de RAM será usado), comunicação (custo de troca de dados entre servidores ou processos, especialmente em sistemas distribuídos), armazenamento secundário (o tempo para ler/escrever dados no disco, que é lento) e computação (o tempo de CPU para processar os dados, como ordenação, junções, cálculos). Esses são os pilares para estimar o custo total de uma operação.
- (B) Incorreta: Esta alternativa é o distrator mais tentador. Embora buffers e buckets (áreas de memória para dados) e page faults (quando dados necessários não estão na memória e precisam ser lidos do disco) sejam importantes, eles são aspectos ou consequências dos custos de memória e armazenamento secundário, não categorias de custo independentes e abrangentes como as da alternativa A.
- (C) Incorreta: Compilação é o processo de traduzir a consulta SQL para um plano de execução, um custo que geralmente ocorre uma única vez ou com pouca frequência para consultas parametrizadas. Ele não é um custo de execução recorrente como os demais. Fator de divisão de bloco é um detalhe muito específico de como os dados são organizados, não uma categoria de custo principal.
- (D) Incorreta: Disco rígido é o local físico, mas o custo é o de armazenamento secundário (acesso a ele). Número de operações E/S (Entrada/Saída) é uma métrica ou medida do custo de acesso ao disco, não a categoria de custo em si. Fator de blocagem é um conceito relacionado à organização dos dados em blocos, não uma categoria de custo fundamental.
- (E) Incorreta: Similar à alternativa B, buffers de memória e page faults são aspectos dos custos de memória e armazenamento. Fator de blocagem é muito específico. Comunicação entre processadores é um tipo de comunicação, mas a alternativa A usa o termo mais abrangente e correto.
Fonte: FGV MPMS 2012 Analista - Informática/Análise de Sistemas. Reproduzida para fins de estudo.