FC ConcursosFC Concursos

Questão FC369615

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

Sistema de Gerenciamento de Banco de Dados (SGBD)

FGV · 2024

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

  1. exibe informações sobre o histórico de execução de consultas no banco de dados, incluindo detalhes sobre transações anteriores.
  2. 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.
  3. modifica, 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.
  4. monitora 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.
  5. oferece uma interface gráfica para criar e modificar tabelas no banco de dados PostgreSQL escritas utilizando a sublinguagem DDL.
Mostrar resposta e comentário

Gabarito

B

Comentário do professor

O comando EXPLAIN no PostgreSQL informa ao planejador que, quando uma consulta usa a cláusula EXISTS, deve avaliar planos considerando o menor custo inicial em vez do menor custo total.

Custo inicial é a estimativa de trabalho até que a primeira linha seja retornada; custo total é o esforço para gerar todas as linhas. Em subconsultas com EXISTS, o objeto é apenas saber se existe pelo menos uma linha.

Como o executor pode interromper a execução assim que encontra a primeira correspondência, o planejador privilegia planos que retornem rapidamente a primeira linha (menor custo inicial), mesmo que seu custo total seja maior.

Na prática, isso pode levar o planejador a escolher, por exemplo, um index scan ou nested loop com baixo startup em vez de um plano de varredura completa mais econômico no total.

Para validar esse comportamento em consultas reais, use EXPLAIN e EXPLAIN ANALYZE e compare custos iniciais entre os planos.

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

Continue aprendendo