Comprensión del formato de hora del comando EXPLAIN - Postgres


14

Cuando ejecuto el comando EXPLAIN ANALYZE en una consulta determinada, me cuesta interpretar el valor del tiempo de salida. Por ejemplo (tiempo real = 8163.890..8163.893). ¿Los decimales internos representan caracteres repetidos? Lo sentimos, esta puede ser una pregunta novata, pero quiero asegurarme de que estoy interpretando los resultados correctamente.

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

Respuestas:


19

actual time=8163.890..8163.893 medio

La inicialización de ese paso ("inicio") tomó 8163.890ms. La
ejecución de todo el paso tomó 8163.893ms

Entonces, en ese caso, casi todo el trabajo se realizó en la fase de inicio de ese paso.

Editar :
la misma lógica se "aplica" a la información de costos

cost=2928781.21..2929243.02 medio:

El costo para inicializar este paso se estimó en: 2928781.21
El costo para realizar el paso se estimó en: 2929243.02

(tenga en cuenta que el "costo" no tiene una unidad, es un valor arbitrario)

Esto también se explica aquí: http://www.postgresql.org/docs/current/static/using-explain.html


Gracias por la información y el enlace. También encontré este documento útil, aunque algo desactualizado
Jmoney38

Gracias por el enlace. El documento no está realmente desactualizado. Las versiones más recientes de PostgreSQL muestran más información en el plan, pero los principios básicos aún se aplican.
a_horse_with_no_name

¿Cómo interpretas un análisis de explicación con esto en un bucle anidado (actual time=0.002..0.002 rows=0 loops=119878):? Supongo que el promedio por bucle se ha redondeado a cero filas, lo que no es útil, pero ¿realmente significan que el costo de ejecución es tan trivial que consiste completamente en el costo de inicio?
Davos

5

El primer número es cuánto tiempo tardó en devolver la primera fila de ese paso. El segundo número es cuánto tiempo tardó en devolver la última fila.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.