Questão de Banco de Dados — SGBD - Sistema de Gerenciamento de Banco de Dados — FGV 2024
Banco de Dados›SGBD - Sistema de Gerenciamento de Banco de Dados
Código
fg096692
Banca
FGV
Órgão
TCE-GO
Ano
2024
Nível
Superior
Cargo
Analista de Controle Externo - Tecnologia da Informação
O comando EXPLAIN no sistema PostgreSQL, versão 16, desempenha um papel crucial na análise e otimização do desempenho das consultas SQL. Compreender o funcionamento e a saída desse comando é essencial para otimizar o desempenho do sistema.Neste contexto, o comando EXPLAIN
Aexibe informações sobre o histórico de execução de consultas no banco de dados, incluindo detalhes sobre transações anteriores.
Bindica ao planejador que escolha como custo estimado de execução de consultas que utilizam a cláusula EXISTS o menor custo inicial em vez do menor custo total.
Cmodifica, em conjunto com a cláusula ANALYZE e WAL, a estrutura física dos arquivos de dados no disco para otimizar o desempenho das consultas.
Dmonitora o espaço em disco utilizado por tabelas e índices no banco de dados, permitindo a otimização do armazenamento e reconstrução de índices CLUSTERED.
Eoferece uma interface gráfica para criar e modificar tabelas no banco de dados PostgreSQL escritas utilizando a sublinguagem DDL.
Revelar gabarito e comentário▾
GabaritoB — indica ao planejador que escolha como custo estimado de execução de consultas que utilizam a cláusula EXISTS o menor custo inicial em vez do menor custo total.
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”.
Comando EXPLAIN no PostgreSQL
Gabarito: letra B. O comando EXPLAIN no PostgreSQL exibe o plano de execução de uma consulta, detalhando as etapas e os custos estimados. Para consultas que utilizam a cláusula EXISTS, o planejador costuma selecionar um plano que minimize o custo inicial (primeira linha) em vez do custo total, pois EXISTS pode interromper ao encontrar a primeira ocorrência. A saída do EXPLAIN reflete essa escolha, mostrando os custos inicial e total de cada operação.
EXPLAIN (PostgreSQL)
1Exibe plano de execução
Etapas da consulta
Custos estimados
2Com EXISTS
Custo total (não prioriza)
Custo inicial (prioriza)
Estratégia: nested loop
Pode interromper na 1ª ocorrência
3Não faz
Histórico de execuções
Modificação física (WAL)
Monitoramento de disco
Interface gráfica (DDL)
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
EXPLAIN não exibe histórico de execuções passadas, nem detalhes de transações anteriores. Ele mostra apenas o plano estimado para a consulta atual.
Alternativa B — ✅ Correta ⟵ GABARITO
Em consultas com EXISTS, o otimizador do PostgreSQL tende a adotar estratégias de baixo custo inicial (como nested loop), e o EXPLAIN exibe essa escolha no plano de execução, contrastando o custo inicial e o custo total.
Alternativa C — ❌ Incorreta
EXPLAIN (mesmo com ANALYZE) não modifica a estrutura física dos arquivos de dados. WAL (Write-Ahead Log) é usado para recuperação, não para otimização via EXPLAIN.
Alternativa D — ❌ Incorreta
Monitoramento de espaço em disco e reconstrução de índices são feitos por comandos como VACUUM, ANALYZE ou pg_total_relation_size, não pelo EXPLAIN.
Alternativa E — ❌ Incorreta
EXPLAIN é um comando textual, não oferece interface gráfica. A criação/modificação de tabelas (DDL) usa comandos como CREATE TABLE e ALTER TABLE.
Conclusão: A única alternativa que descreve corretamente uma funcionalidade do EXPLAIN no contexto do PostgreSQL é a letra B.