Entendendo o formato de hora do comando EXPLAIN - Postgres

14

Quando executo o comando EXPLAIN ANALYZE em uma determinada consulta, estou tendo dificuldades para interpretar o valor do tempo gerado. Por exemplo (tempo real = 8163.890..8163.893). Os decimais internos representam caracteres repetidos? Desculpe, essa pode ser uma pergunta noobish, mas quero ter certeza de que estou interpretando os resultados corretamente.

   ->  GroupAggregate  (cost=2928781.21..2929243.02 rows=1 width=27712) (actual time=8163.890..8163.893 rows=1 loops=1)
Jmoney38
fonte

Respostas:

19

actual time=8163.890..8163.893 significa

A inicialização dessa etapa ("inicialização") levou 8163.890ms A
execução da etapa inteira levou 8163.893ms

Portanto, nesse caso, quase todo o trabalho foi realizado na fase de inicialização dessa etapa.

Editar :
a mesma lógica é "aplicada" às informações de custo

cost=2928781.21..2929243.02 significa:

O custo para inicializar esta etapa foi estimado em: 2928781.21
O custo para executar a etapa foi estimado em: 2929243.02

(observe que "custo" não tem uma unidade - é um valor arbitrário)

Isso também é explicado aqui: http://www.postgresql.org/docs/current/static/using-explain.html

um cavalo sem nome
fonte
Obrigado pela informação ea ligação - Eu também achei este documento útil, embora um pouco desatualizado
Jmoney38
Obrigado pelo link. O documento não está realmente desatualizado. Versões mais recentes do PostgreSQL mostram mais informações no plano, mas os princípios básicos ainda se aplicam.
a_horse_with_no_name
Como você interpreta uma análise de explicação com isso em um loop aninhado (actual time=0.002..0.002 rows=0 loops=119878):? Suponho que a média por loop tenha arredondado para zero linhas, o que é inútil, mas esses tempos realmente significam que o custo de execução é tão trivial que consiste inteiramente em custo de inicialização?
Davos
5

O primeiro número é o tempo que levou para retornar a primeira linha nessa etapa. O segundo número é o tempo que levou para retornar a última linha.

Scott Marlowe
fonte