Comprensione del formato dell'ora del comando EXPLAIN - Postgres


14

Quando eseguo il comando EXPLAIN ANALYZE su una determinata query, ho difficoltà a interpretare il valore del tempo emesso. Ad esempio (tempo effettivo = 8163.890..8163.893). I decimali interni rappresentano i caratteri che si ripetono ?? Siamo spiacenti, questa potrebbe essere una domanda noobish, ma voglio assicurarmi di interpretare correttamente i risultati.

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

Risposte:


19

actual time=8163.890..8163.893 si intende

Inizializzare quel passaggio ("avvio") ha richiesto 8163.890ms. L'
esecuzione dell'intero passaggio ha richiesto 8163.893ms

Quindi in quel caso quasi tutto il lavoro è stato fatto nella fase di avvio di quel passaggio.

Modifica :
la stessa logica viene "applicata" alle informazioni sui costi

cost=2928781.21..2929243.02 si intende:

Il costo per inizializzare questo passaggio è stato stimato a: 2928781.21
Il costo per eseguire il passaggio è stato stimato a: 2929243.02

(nota che "costo" non ha un'unità - è un valore arbitrario)

Questo è anche spiegato qui: http://www.postgresql.org/docs/current/static/using-explain.html


Grazie per l'informazione e il link - Ho anche trovato utile questo documento , anche se in qualche modo obsoleto
Jmoney38

Grazie per il link Il documento non è davvero obsoleto. Le versioni più recenti di PostgreSQL mostrano ulteriori informazioni nel piano, ma i principi di base si applicano ancora.
a_horse_with_no_name

Come interpreta un spiegare analizzare con questo in un ciclo nidificato: (actual time=0.002..0.002 rows=0 loops=119878)? Suppongo che la media per ciclo abbia arrotondato a zero righe, il che non è di aiuto, ma questi tempi significano davvero che il costo di esecuzione è così banale che consiste interamente nel costo di avvio?
Davos,

5

Il primo numero è il tempo impiegato per restituire la prima riga in quel passaggio. Il secondo numero è il tempo impiegato per restituire l'ultima riga.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.